Skip to content

dappnode/DAppNode

Repository files navigation

DAppNode

Website dappnode.io Documentation Wiki GIVETH Campaign GitHub All Releases GitPOAP Badge Twitter Follow Discord




Infrastructure for the decentralized world

DAppNode is empowering people by creating a simple, transparent system for hosting P2P clients for DApps, Cryptocurrencies, VPNs, IPFS and more

Discover DAppNode

DAppNode lowers the barrier of entry for non tech-savvy participants. It allows you to deploy, update, and manage P2P clients and nodes without leaving your browser. No terminal or command line interface.

Develop with DAppNode

DAppNode modular architecture allows any team to or project to publish a dockerized application to the DAppNode packages eco-system. Benefit from an enthusiastic crypto savvy user based and offer a user interface-only experience to lower onboarding friction.

Check out the DAppNodeSDK to learn how to get started.

Note: packages are published to Ethereum mainnet and incur costs. Given the current high gas prices the DAppNode team is willing to subsidize gas costs for packages of great interest to users.

Packages eco-system

The community and core team members have created many useful packages for users. Checkout the package explorer to browse an up-to-date list of all packages and their versions.

Champions

Champions are community members that are in charge of maintaining packages: keeping them updated and working. All packages in this list without a champion are actively looking for a champion. Join our DAppNode Discord #champion-process to suggest a package to be championed and/or offer to be a champion for a project you care about!

Package Champion
Avalanche Wimel
ARTIS-sigma1 -
Bee @tropicar
Bitcoin @Pol-Lanski
Block-explorer -
Cosmos Wimel
DMS @eduadiez
Eth2stats-client -
Ethereum Classic -
Ethereum Optimism -
Exporter @eduadiez
Geth @pablomendezroyo
Goerli Geth @pablomendezroyo
HTTPs Portal @3alpha
Ipfs Cluster @dapplion
Ipfs Pinner @dapplion
Kovan @pablomendezroyo
LightningNetwork @pablomendezroyo
Matrix -
Metrics Tools @eduadiez
Monero @pablomendezroyo
Nethermind @pablomendezroyo
Openethereum @pablomendezroyo
Owncloud @tropicar
Polkadot Kusama -
Prysm @pablomendezroyo
Prysm Pyrmont @pablomendezroyo
Raiden @eduadiez
Raiden Testnet @eduadiez
Rinkeby @pablomendezroyo
Ropsten @pablomendezroyo
Storj @pablomendezroyo
Tornado Cash Relayer -
Trustlines -
Turbo-geth @gnidan
Vipnode -
Wireguard @3alpha
ZCash -

Core packages

Get DAppNode

Get your DAppNode and start contributing to decentralization by running your own nodes.

Install DAppNode on your host machine or buy your DAppNode with all the stuff configured and prepared to be used in DAppNode shop

Install DAppNode with ISO

DAppNode ISO available is in: latest DAppNode release.

Install DAppNode on your host machine by burning DAppNode ISO to a DVD or creating a bootable USB. Follow the tutorial of your operating system below and come back when you are finished:

Developers: DAppNode ISO could be generated following these steps:

git clone https://github.com/dappnode/DAppNode.git
cd DAppNode
docker compose build
docker compose up

DAppNode iso will be generated inside images folder, to verify it:

ls -lrt images/DAppNode-*

Note: ISO could be generated as unattended/attended by editing the env var available in the docker-compose.yml file

Install DAppNode with scripts

Scripts are available in: latest DAppNode release.

DAppNode could be also installed on a host machine with an OS already running on it. DAppNode has been developed and configured to be run on Debian host machines. Therefore, it should work on Debian or Debian based (like Ubuntu) host machines. Minimum recommended Debian version is 11.

1. Prerequisites

Before installing DAppNode with the script option, make sure you fulfill the requirements by running the following script:

sudo wget -O - https://prerequisites.dappnode.io | sudo bash

2. Script installation

Once you make sure you have the requirements, install DAPpNode with the installation script:

sudo wget -O - https://installer.dappnode.io | sudo bash

3. Uninstall DAppNode

Uninstall DAppNode from your host machine by running the following command:

wget -qO - https://uninstaller.dappnode.io | sudo bash

4. Update DAppNode from scripts

To update DAppNode to the latest version using script:

sudo wget -O - https://installer.dappnode.io | sudo UPDATE=true bash

Releases

Create releases manually with Github actions, the Github action to run is: Pre-release. The requirements are:

  • Introduce the core packages versions
  • There must exist the corresponding core package release for the specified version

The release will contain:

  • Assets:
    • Scripts: dappnode_access_credentials.sh, dappnode_install.sh, dappnode_uninstall.sh, dappnode_install_pre.sh, dappnode_profile.sh
    • ISOs: DAppNode-vX-debian-bullseye-amd64-unattended.iso, DAppNode-vX-debian-bullseye-amd64-unattended.iso
  • Release body:
    • Table with core packages versions
    • Changes section
    • SHASUMs for unattended and attended ISOs
    • Default credentials

Testing with artifacts

Generate ISOs and test them by running the Github action: Artifacts. This action will generate an artifacts with the same assets as the release, useful for testing purposes.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Team members

Members of the White Hat Group (WHG) have spent countless hours bootstrapping and developing DAppNode in 2017. Currently, the project is maintained by a growing multi-disciplinary team:

  • Adviser & Instigator: Jordi Baylina
  • Project Lead: Eduadiez
  • Developer Lead: dapplion
  • Ecosystem Development Pol Lanski
  • Developer: Pablo
  • Developer: Carlos
  • Adviser: Griff Green

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details

Copyright

Copyright © (2018-2023) The DAppNode Association