This repository packages Hive for DAppNode: a node service (NestJS HTTP API on port 4774) and a dashboard web UI (nginx on container port 80, published as 8000 on the host in docker-compose.yml).
The runnable app is not vendored under a hive-app/ folder. The image is built from node/Dockerfile, which clones https://github.com/metaProvide/hive.git, runs pnpm build, and ships dist/ + production dependencies.
- Docker (and Docker Compose for local checks).
- DAppNode SDK (
@dappnode/dappnodesdk) when you build a release artifact for DAppNode. - On the target DAppNode: Swarm (Bee) and IPFS packages installed, or equivalent URLs reachable from the Hive containers.
| Service | Role | Ports (compose) |
|---|---|---|
node |
Hive API + gateway proxies | Host 4774 → container 4774 |
dashboard |
Web dashboard (talks to NODE_URL) |
Host 8000 → container 80 |
In the DAppNode UI, package links are defined in dappnode_package.json:
- Dashboard (UI):
http://dashboard.hive.public.dappnode(DAppNode routing; not the same port as the API). - Scalar API docs:
http://node.hive.public.dappnode:4774/hive/docs/api - API base:
http://node.hive.public.dappnode:4774/
Set these in the package config or docker-compose.yml to match your stack (defaults assume typical DAppNode internal DNS names).
| Variable | Purpose |
|---|---|
DATA_DIR |
Root data directory (default /data/hive). |
STORAGE_PATH |
Hyperdrive store path (default /data/hive/store). |
BEE_API_URL |
Bee HTTP API, e.g. http://bee.swarm.dappnode:1633. |
BEE_POSTAGE_STAMP |
Postage batch id (replace the zero placeholder for paid uploads). |
IPFS_GATEWAY_URL |
Kubo gateway (read), often port 8080. |
IPFS_API_URL |
Kubo RPC API, often port 5001. |
| Variable | Purpose |
|---|---|
NODE_URL |
Base URL for the Hive node API (default http://node.hive.public.dappnode:4774). |
DAppNode resolves other packages on the Docker network using names like bee.swarm.dappnode. IPFS hostnames vary by package; if ipfs.dappnode does not resolve, use the URL shown on your IPFS package page.
docker compose buildUse this to verify images locally. Release builds for DAppNode normally go through the SDK.
From the repository root (with the SDK installed and configured):
dappnodesdk buildKeep dappnode_package.json version, the image tags in docker-compose.yml (e.g. node.hive.public.dappnode.eth:<version>), and release metadata in sync.
Upstream source and build steps live in node/Dockerfile (clone URL, branch/tag via git ref if you pin one). After changing the Dockerfile or dependencies, rebuild the image and bump package version as needed.