The DNP_DAPPMANAGER handles the Dappnode core DNPs and any user installed DNPs. It also performs maintenance checks.
It is an AragonApp whose repo is deployed at this address: 0x0c564ca7b948008fb324268d8baedaeb1bd47bce and whose ENS address is: dappmanager.dnp.dappnode.eth
This repo is a single piece of Dappnode. To install and use Dappnode go to the installation guide.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
You must have git, docker, and docker-compose in your environment to run this repo. To verify these are installed properly, run the following commands.
git --version
docker --version
docker-compose --version
Go to the installation overview in our documentation for more information.
To get started, clone the project locally.
$ git clone https://github.com/dappnode/DNP_DAPPMANAGER.git
To develop locally, cd into the src folder and start the nodejs application
cd build/src
npm i
npm start
The DNP_DAPPMANAGER expects to be in a Dappnode network to connect to its WAMP module, Ethereum node and IPFS node. If you wish to use a different providers for such services you can edit their urls in the build/src/src/params.js
file.
After making sure that the nodejs app runs successfully on its own and passes the tests npm test
, you can dockerize the package.
docker-compose build
docker-compose up -d
docker-compose logs -f
Before choosing any of the following options for development, remember to run:
yarn
yarn generate
There are 4 different developing modes:
Netlify settings:
Netlify will deploy a static site on every PR against the mentioned PRs
cd packages/admin-ui
yarn mock-standalone
cd packages/admin-ui
yarn server-mock
cd packages/admin-ui
yarn mock
cd packages/admin-ui
yarn start
Note: This mode is not working a the moment since cross-domain cookies are not enabled.
SSH into your Dappnode and clone this repo:
https://github.com/dappnode/DNP_DAPPMANAGER
Open the directory where you cloned the repo using VS Code SSH extension (optional, but recommended)
Force remove Dappmanager container:
docker rm -f DAppNodeCore-dappmanager.dnp.dappnode.eth
Build dev Dappmanager:
docker-compose -f docker-compose-dev.yml build
Start dev Dappmanager:
docker-compose -f docker-compose-dev.yml up -d
After this, you will be able to access the dappmanager through http://my.dappnode:5000/
Note: To switch back to production Dappmanager, you will have to remove this container and run:
docker-compose -f /usr/src/dappnode/DNCORE/docker-compose-dappmanager.yml up -d
Now, generate a tar.xz image (get the xz library).
$ docker build --rm -f build/Dockerfile -t dappmanager.dnp.dappnode.eth:dev build
$ docker save dappmanager.dnp.dappnode.eth:dev | xz -9 > dappmanager.dnp.dappnode.eth_x.y.z.tar.xz
You can download the latest tar.xz version from here releases.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
See also the list of contributors who participated in this project.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details