Michael Vorburger.ch Blog

DAppNode

March 13, 2022
DAppNode image

DAppNode

https://dappnode.io

ToDo

  1. ipfs.dappnode with HTTPS? See https://github.com/dappnode/DAppNode/issues/406, and below.
  2. Fix http://alice.eth etc. as it’s still NOK when now that IPFS works, see https://github.com/dappnode/DAppNode/issues/492
  3. Install http://dappnode.local/#/installer/prysm.dnp.dappnode.eth
  4. http://dappnode.local/#/installer More packages to install?
  5. http://dappnode.local/#/community => https://sourcecred.dappnode.io/#/explorer PAN?
  6. DAppNode DApp list
  7. Configure /etc/wireguard/wg0.conf to “route” / “lookup” (?) ONLY .eth and .dappnode domain names through that VPN? Test by shutdown DAppNode.
  8. (Re-)install and configure http://dappnode.local/#/packages/rotki.dnp.dappnode.eth/info
  9. git server (local at first, then on IPFS); e.g. on https://github.com/linuxserver?
  10. Backups, for git server and other, on IPFS

Use

  • brave://settings/ipfs
  • brave://ipfs-internals/
  • If using Brave Local IPFS Node:
    • http://127.0.0.1:45005/webui
    • brave://settings/ipfs/peers

Manage & Maintenance

Set up

As per official documentation, and then:

  1. choose Initial Configuration Full Node Geth
  2. disable WiFi on http://dappnode.local/#/wifi/wifi
  3. run http://dappnode.local/#/system/security updates
  4. run http://dappnode.local/#/system/update
  5. ssh-copy-id -i ~/.ssh/id_ecdsa_sk.pub vorburger@dappnode.local
  6. ssh vorburger@dappnode.local
  7. su -, and then nano /etc/ssh/sshd_config and change the following: PasswordAuthentication no, and ChallengeResponseAuthentication no and UsePAM no and X11Forwarding no
  8. systemctl restart sshd
  9. check http://dappnode.local/#/support/auto-diagnose
  10. Optional: set up Telegram notifications http://dappnode.local/#/system/notifications following https://core.telegram.org
  11. Note http://dappnode.local/#/support/ports and open ports 4001-4002 for IPFS and 49154-49160 for Geth (or OpenEthereum), on both TCP/UPD, on the firewall. (The API Scan button says “Unknown” for the UDP ports, that’s fine.)
  12. restart http://dappnode.local/#/packages/openethereum.dnp.dappnode.eth/info (?) and IPFS (both maybe not required?)
  13. check http://dappnode.local/#/packages/openethereum.dnp.dappnode.eth/logs
  14. check http://dappnode.local/#/packages/ipfs.dnp.dappnode.eth/logs
  15. Instead of VPN, simply adding e.g. 5001 e.g. on http://dappnode.local/#/packages/ipfs.dnp.dappnode.eth/network allows to use e.g. http://dappnode.local:5001/ipfs/ instead of http://ipfs.dappnode:5001/webui; simple enough!
  16. As per https://github.com/dappnode/DAppNode/issues/406, forward port 8080 <=> 8080 by TCP on http://dappnode.local/#/packages/ipfs.dnp.dappnode.eth/network. Now on brave://settings/ipfs switch from Brave local IPFS node to Gateway, and change the IPFS public gateway address from the default https://dweb.link to http://ipfs.dappnode:8080/ (port 8080, not 5001). With that, just like https://bafkqae2xmvwgg33nmuqhi3zajfiemuzahiwss.ipfs.dweb.link showing Welcome to IPFS :-) our http://dappnode:8080/ipfs/bafkqae2xmvwgg33nmuqhi3zajfiemuzahiwss shows the same, and http://ipfs.dappnode:8080/ipfs/bafkqae2xmvwgg33nmuqhi3zajfiemuzahiwss => http://bafkqae2xmvwgg33nmuqhi3zajfiemuzahiwss.ipfs.ipfs.dappnode:8080 same; and going e.g. to https://ipfs.io in Brave takes me to http://ipfs.tech.ipns.ipfs.dappnode:8080! 🚀
  17. Wait for Geth sync finished on http://dappnode.local/#/dashboard
  18. http://dappnode.local/#/vpn/wireguard set-up: Android set-up works. But this tunnels all traffic through DAppNode, right? That seems like it may be a bad idea.
  19. For VPN setup on Linux, follow follow DAppNode doc, on http://dappnode.local/#/vpn/wireguard/ NOTE Show local credentials but beware of https://github.com/dappnode/DAppNode/issues/405. TL;DR to: sudo dnf install wireguard-tools, sudo nano /etc/wireguard/wg0.conf, sudo wg-quick up wg0, sudo wg show. Or could try out nm-connection-editor etc.. (GNOME Settings Network integration for Wireguard is WIP.)
  20. Install http://dappnode.local/#/installer/dappnode-exporter.dnp.dappnode.eth for https://github.com/prometheus/node_exporter
  21. Install http://dappnode.local/#/installer/dms.dnp.dappnode.eth

Support

Troubleshooting

  1. Logs on http://dappnode.local/#/support/activity
  2. DAppNode Package is not compatible: dappGet could not resolve request core.dnp.dappnode.eth@0.2.57, error on aggregate stage: IPFS hash not available /ipfs/QmUr87duodYqkWX8wZNuZCdWA35D3MSTZrxUzF9E4mFNY1: request to http://ipfs.dappnode:5001/api/v0/ls?timeout=30000ms&arg=%2Fipfs%2FQmUr87duodYqkWX8wZNuZCdWA35D3MSTZrxUzF9E4mFNY1 failed, reason: connect ECONNREFUSED 172.33.1.5:5001 Error fetching core.dnp.dappnode.eth@0.2.57 :: Shutdown & Reboot after Core packge upgrade failure due to the following seems to have helped at least somewhat.
  3. Repository Source Full node: using remote not available: Error: connect ECONNREFUSED :: This is caused e.g. if Geth is down, but is selected instead of a Remote or Light Client on http://dappnode.local/#/system/repository. Fix Geth, or switch to another one, to fix this.
  4. Geth error something or the other on the Dashboard, e.g. after a restart, sometimes goes away if you wait for a while to re-start and finish sync-ing.
  5. If e.g. http://ipfs.dappnode:5001/webui works in Firefox but fails in Brave saying ipfs resolve -r /ipns/ipfs.dappnode/ipfs/bafybeibozpulxtpv5nhfa2ue3dcjx23ndh3gwr5vwllk7ptoyfwnfjjr4q/: could not resolve name: “ipfs.dappnode” is missing a DNSLink record (https://docs.ipfs.io/concepts/dnslink/), then use Disabled Method to resolve IPFS resources on brave://settings/ipfs.

Bugs

  • OpenEthereum seems to be broken, it never synced (even after I opened ports; unless it was the wrong ones)
  • http://dappnode.local/#/system/add-ipfs-peer “Error getting your peer multiaddress: Failed to fetch” Error on Console shows it’s because it’s using http://ipfs.dappnode:5001/api/v0/id. So it’s just a UI bug if you don’t use a VPN. Is it possible to switch the UI to use e.g. http://dappnode:5001/api/v0/id ?