DAppNode package responsible for providing the DAppNode Package Manager
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
pablomendezroyo 8ac7e20edf
Merge pull request #1474 from dappnode/pablo/use-dappnode.types
1 month ago
.github bump node version in workflows 1 month ago
docker add common to docker dev 5 months ago
packages bump ipfs dep 1 month ago
patches remove unnecessary patch 1 month ago
test Changed to 3.5 2 years ago
.dockerignore Bootstrap monorepo 3 years ago
.eslintrc.cjs Fix eslint warn and errors 2 months ago
.gitignore move schemas to common pkg 5 months ago
Dockerfile Moved COPY instruction to better location 2 months ago
Dockerfile.dev Update param ui files path 2 months ago
LICENSE Pre-alpha 5 years ago
README.md Fix: typos 1 month ago
avatar-dappmanager.png Fix avatar 4 years ago
banner-dappmanager.png Improve docs 4 years ago
dappmanager-grafana-dashboard.json add dappmanager prefix to grafana dashboards 6 months ago
dappnode_package.json updated dappmanager version in manifest 2 years ago
docker-compose-dev.yml bind mount the code in a volume 7 months ago
docker-compose.yml set error card 9 months ago
lerna.json Bootstrap monorepo 3 years ago
package.json Fix eslint warn and errors 2 months ago
prometheus-targets.json add prometheus targets 6 months ago
releases.json improve columns components 9 months ago
tsconfig.json Set ESNext as default target 2 months ago
yarn.lock bump ipfs dep 1 month ago

README.md

Website dappnode.io Documentation Wiki GIVETH Campaign Discord DAppNode Twitter Follow

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

Getting Started

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.

Prerequisites

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 pre-requisites setup in our installation guide if any of the above commands return an error and need to be installed or has its own unmet dependencies.

Installing

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.

Building

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

Developing

Before choosing any of the following options for development, remember to run:

yarn
yarn generate

There are 3 different developing modes:

  1. Standalone UI: this mode allows developers to have a standalone UI with basic functionality, to develop and test UI elements without connecting to a DAppNode or a mock server. This is a fully static site that will be deployed to Netlify on every PR to speed up the reviewing process of PRs.

Netlify settings:

  • Production branch: master
  • Other branches: v... (e.g v0.2.41)

Netlify will deploy a static site on every PR against the mentioned PRs

cd packages/admin-ui
yarn mock-standalone
  1. Server mock: this mode allows to simulate backend situations, such as cookies and sessions, alerts, or notifications. You should run the UI devserver and a mock backend server with:
cd packages/admin-ui
yarn server-mock
cd packages/admin-ui
yarn mock
  1. Actual DAPPMANAGER: this mode will connect to your DAppNode's actual DAPPMANAGER, useful to develop and test functionality OS dependant such as the SSH manager, host password manager, etc. You must be connected to your DAppNode via VPN or WIFI.
cd packages/admin-ui
yarn start

Note: This mode is not working a the moment since cross-domain cookies are not enabled.

Distributing

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.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

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

Authors

See also the list of contributors who participated in this project.

License

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

References

git

docker

docker-compose