{"id":22938382,"url":"https://github.com/dappnode/dnp_dappmanager","last_synced_at":"2026-03-09T13:07:46.005Z","repository":{"id":37432037,"uuid":"125034762","full_name":"dappnode/DNP_DAPPMANAGER","owner":"dappnode","description":"Dappnode package responsible for providing the Dappnode Package Manager","archived":false,"fork":false,"pushed_at":"2026-03-06T09:29:52.000Z","size":102719,"stargazers_count":37,"open_issues_count":230,"forks_count":45,"subscribers_count":10,"default_branch":"develop","last_synced_at":"2026-03-06T11:57:46.524Z","etag":null,"topics":["dapp","dappnode","ethereum"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dappnode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-03-13T10:35:26.000Z","updated_at":"2026-03-06T09:01:17.000Z","dependencies_parsed_at":"2023-10-16T20:22:16.680Z","dependency_job_id":"646c325f-bef0-43b7-800b-4d23bff0a874","html_url":"https://github.com/dappnode/DNP_DAPPMANAGER","commit_stats":null,"previous_names":[],"tags_count":135,"template":false,"template_full_name":null,"purl":"pkg:github/dappnode/DNP_DAPPMANAGER","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dappnode%2FDNP_DAPPMANAGER","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dappnode%2FDNP_DAPPMANAGER/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dappnode%2FDNP_DAPPMANAGER/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dappnode%2FDNP_DAPPMANAGER/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dappnode","download_url":"https://codeload.github.com/dappnode/DNP_DAPPMANAGER/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dappnode%2FDNP_DAPPMANAGER/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30297111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T11:12:22.024Z","status":"ssl_error","status_checked_at":"2026-03-09T11:10:54.577Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dapp","dappnode","ethereum"],"created_at":"2024-12-14T12:17:44.879Z","updated_at":"2026-03-09T13:07:45.968Z","avatar_url":"https://github.com/dappnode.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/dappnode/DAppNode\"\u003e\u003cimg width=\"400\" title=\"DAPPMANAGER\" src='banner-dappmanager.png' /\u003e\u003c/a\u003e\u003c/p\u003e\n\n[![Website dappnode.com](https://img.shields.io/badge/Website-dappnode.io-brightgreen.svg)](https://dappnode.com/)\n[![Documentation Wiki](https://img.shields.io/badge/Documentation-Wiki-brightgreen.svg)](https://docs.dappnode.io)\n[![GIVETH Campaign](https://img.shields.io/badge/GIVETH-Campaign-1e083c.svg)](https://giveth.io/project/dappnode)\n[![Discord Dappnode](https://img.shields.io/discord/747647430450741309?label=Discord\u0026logo=Discord\u0026style=plastic)](https://discord.gg/dappnode)\n[![Twitter Follow](https://img.shields.io/twitter/follow/espadrine.svg?style=social\u0026label=Follow)](https://twitter.dappnode.io)\n\nThe **DNP_DAPPMANAGER** handles the Dappnode core DNPs and any user installed DNPs. It also performs maintenance checks.\n\n- :bust_in_silhouette: For user / usage documentation go to the [user guide](https://docs.dappnode.io/docs/user/getting-started/choose-your-path)\n- :wrench: For developers check the [technical documentation](https://docs.dappnode.io/docs/dev)\n- :speech_balloon: For feedback and reporting problems please [submit an issue](https://github.com/dappnode/dappnode/issues/new) or contact us on [Discord](https://discord.gg/dappnode)\n\nIt is an AragonApp whose repo is deployed at this address: [0x0c564ca7b948008fb324268d8baedaeb1bd47bce](https://etherscan.io/address/0x0c564ca7b948008fb324268d8baedaeb1bd47bce) and whose ENS address is: [dappmanager.dnp.dappnode.eth](https://etherscan.io/enslookup?q=dappmanager.dnp.dappnode.eth])\n\n## Getting Started\n\nThis repo is a single piece of Dappnode. To install and use Dappnode go to the [installation guide](https://docs.dappnode.io/docs/user/install/overview).\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\nYou must have git, docker, and docker-compose in your environment to run this repo. To verify these are installed properly, run the following commands.\n\n```bash\ngit --version\ndocker --version\ndocker-compose --version\n```\n\nGo to the [installation overview](https://docs.dappnode.io/docs/user/install/overview) in our documentation for more information.\n\n### Installing\n\n1. To get started, clone the project locally.\n\n   ```bash\n   $ git clone https://github.com/dappnode/DNP_DAPPMANAGER.git\n   ```\n\n2. Use node 20 or higher to run the project.\n\n   ```bash\n   $ nvm use 20\n   ```\n\n3. Install `yarn` globally.\n\n   ```bash\n   $ npm install -g yarn\n   ```\n\n4. Enable corepack and set yarn version berry\n\n   ```bash\n   $ corepack enable \u0026\u0026 yarn set version berry\n   ```\n\n5. Install the dependencies\n\n   ```bash\n   $ yarn\n   ```\n\n6. Build the project\n\n   ```bash\n   $ yarn build\n   ```\n\nThe 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 [`packages/params/src/params.ts` file](packages/params/src/params.ts).\n\n### Developing\n\nThere are 4 different developing modes:\n\n1. 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.\n\nNetlify settings:\n\n- Production branch: **master**\n- Other branches: **v...** (e.g v0.2.41)\n\nNetlify will deploy a static site on every PR against the mentioned PRs\n\n```\ncd packages/admin-ui\nyarn mock-standalone\n```\n\n2. 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:\n\n```\ncd packages/admin-ui\nyarn server-mock\n```\n\n```\ncd packages/admin-ui\nyarn mock\n```\n\n3. 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.\n\n```\ncd packages/admin-ui\nyarn start\n```\n\n_Note: This mode is not working a the moment since cross-domain cookies are not enabled._\n\n4. Docker real-time development (recommended).\n\nSSH into your Dappnode and clone this repo:\n\n```bash\ngit clone https://github.com/dappnode/DNP_DAPPMANAGER\n```\n\nOpen the directory where you cloned the repo using VS Code SSH extension (optional, but recommended)\n\nForce remove Dappmanager container:\n\n```bash\ndocker rm -f DAppNodeCore-dappmanager.dnp.dappnode.eth\n```\n\nBuild and start dev Dappmanager:\n\n```bash\ndocker-compose -f docker-compose-dev.yml up -d --build\n```\n\nAfter this, you will be able to access the dappmanager through http://my.dappnode/\n\n_Note: To switch back to production Dappmanager, you will have to remove this container and run:_\n\n```\ndocker-compose -f /usr/src/dappnode/DNCORE/docker-compose-dappmanager.yml up -d\n```\n\n### Distributing\n\nNow, generate a tar.xz image ([get the xz library](https://tukaani.org/xz/)).\n\n```bash\n$ docker build --rm -f build/Dockerfile -t dappmanager.dnp.dappnode.eth:dev build\n$ docker save dappmanager.dnp.dappnode.eth:dev | xz -9 \u003e dappmanager.dnp.dappnode.eth_x.y.z.tar.xz\n```\n\nYou can download the latest tar.xz version from here [releases](https://github.com/dappnode/DNP_DAPPMANAGER/releases).\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](https://github.com/dappnode) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/dappnode/DNP_DAPPMANAGER/tags).\n\n## Authors\n\n- **Eduardo Antuña Díez** - _Initial work_ - [eduadiez](https://github.com/eduadiez)\n- **Pablo Mendez** - [pablomendez](https://github.com/pablomendezroyo)\n- **DAppLion** - [dapplion](https://github.com/dapplion)\n\nSee also the list of [contributors](https://github.com/dappnode/DNP_DAPPMANAGER/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details\n\n## References\n\n[git](https://git-scm.com/)\n\n[docker](https://www.docker.com/)\n\n[docker-compose](https://docs.docker.com/compose/)\n\n```\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdappnode%2Fdnp_dappmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdappnode%2Fdnp_dappmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdappnode%2Fdnp_dappmanager/lists"}