coinswap/maker-dashboard

By coinswap

Updated 6 days ago

A web dashboard for managing Coinswap maker nodes.

Image
Networking
API management
0

3.6K

coinswap/maker-dashboard repository overview

Coinswap Maker Dashboard

A web dashboard for managing Coinswap maker nodes: Bitcoin liquidity providers in the Coinswap privacy protocol.

This image ships a Rust/Axum backend that serves a localhost-first REST API and a React frontend from a single process. Use it to onboard makers, start/stop them, manage hot wallets, watch live logs, and track swap history and fidelity bonds, all from the browser.

⚠️ This dashboard manages hot wallets holding real Bitcoin. Read SECURITY.md before exposing it. Understand the access-control model, wallet storage, and fidelity bond requirements first.

What's In This Image

This image contains only the dashboard. You must already have a reachable Bitcoin Core node (RPC + REST + ZMQ enabled) and a Tor daemon. For an all-in-one stack (bitcoind + tor + dashboard) via Docker Compose, see the repository.

  • Multi-arch: linux/amd64, linux/arm64
  • Signed with cosign (keyless / OIDC)
  • Runs as a non-root appuser
  • Exposes port 3000 with a built-in HEALTHCHECK

Tags

TagMeaning
latestNewest stable release
vX.Y.ZA specific release
masterLatest build from the main branch
sha-<commit>A specific commit build

Quick Start

The simplest way to let the dashboard reach Bitcoin Core and Tor on your host is host networking:

docker run -d \
  --name maker-dashboard \
  --network host \
  -v maker-dashboard-config:/home/appuser/.config/maker-dashboard \
  coinswap/maker-dashboard:latest

Prefer port mapping? Bind to all interfaces inside the container and publish the port (point makers at your host's Bitcoin/Tor endpoints, e.g. host.docker.internal on Docker Desktop):

docker run -d \
  --name maker-dashboard \
  -p 3000:3000 \
  -v maker-dashboard-config:/home/appuser/.config/maker-dashboard \
  coinswap/maker-dashboard:latest \
  ./maker-dashboard --host 0.0.0.0

Then open http://localhost:3000 and, on first run, visit http://localhost:3000/setup to choose a password. Swagger UI is at /swagger-ui/.

Persistence

Mount a volume at /home/appuser/.config/maker-dashboard to persist:

  • auth.json: argon2id password hash + salts
  • makers.json: your maker configs, encrypted at rest

Without it, you lose your password and maker registrations when the container is recreated.

Upgrading

docker pull coinswap/maker-dashboard:latest
docker rm -f maker-dashboard
# re-run your docker run command

Your config volume carries auth and maker state across the upgrade.

Configuration

Set via CLI flags or environment variables:

FlagEnv varDefaultDescription
--hostDASHBOARD_HOST127.0.0.1IP address to bind to
--portDASHBOARD_PORT3000Port to listen on
--allow-remoteDASHBOARD_ALLOW_REMOTEfalseAllow non-localhost requests
--disable-secure-cookiesDASHBOARD_DISABLE_SECURE_COOKIESfalseAllow session cookies over HTTP
--log-filterDASHBOARD_LOG_FILTERtower_http=debug,infoTracing filter directive
--no-colorDASHBOARD_NO_COLORfalseDisable ANSI colors in logs
--config-dirDASHBOARD_CONFIG_DIRplatform defaultDashboard config directory

Verifying The Image

Signatures are keyless (Sigstore). Verify with cosign:

cosign verify coinswap/maker-dashboard:latest \
  --certificate-identity-regexp 'https://github.com/citadel-tech/maker-dasboard/.*' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

License

Apache License 2.0, see LICENSE.

Tag summary

Content type

Image

Digest

sha256:324aa1316

Size

256 Bytes

Last updated

6 days ago

docker pull coinswap/maker-dashboard:sha256-a7ccf5f9f25beabb3a1b2885eaea80de1c31338d68b513993b94ae701ff96537.sig