- Goal: Run Bisq Daemon on Umbrel as a full node, integrated with Bitcoin Core, accessible via Tor.
- Node Type: User-facing, always-on daemon. Not targeting Bisq infrastructure roles (seed, oracle, price node, explorer).
- Future: Prepare for Bisq mobile apps (iOS/Android) that can connect remotely to this node.
- bisq: Bisq Daemon (Java) with persistent volume
/data/bisq. - app_proxy: Umbrel reverse proxy for authentication and Tor integration.
- ui/bridge (optional): Small web UI or gRPC-to-HTTP bridge for dashboard usage.
- Bitcoin Core: Connects to Umbrel’s Bitcoin Core through P2P and optionally RPC.
- Tor: Provides hidden service for remote mobile access.
- Create repo with structure:
/apps/bisq/
docker-compose.yml
umbrel-app.yml
exports.sh
README.md
/docker/Dockerfile.bisq
/docs/PLAN.md
/ui/ (optional)
- Setup GitHub Actions workflow to build and push multi-arch images (arm64 + amd64).
- Base image:
eclipse-temurin:17-jre. - Download
bisq-daemonfrom official releases. - Run as non-root user.
- Entrypoint example:
java -jar /opt/bisq/daemon.jar \
--apiPassword=$BISQ_API_PASSWORD \
--btcNodes=$BISQ_BTC_NODES \
$BISQ_EXTRA_FLAGSdocker-compose.yml: servicesbisq,app_proxy, optionalui.umbrel-app.yml: app metadata (id, name, version, tagline, dependencies).exports.sh: expose variables if needed (e.g., API host/port).- Configure proxy authentication (
PROXY_AUTH_ADDorPROXY_AUTH_WHITELIST).
-
Use environment exports from Umbrel Bitcoin app:
$APP_BITCOIN_NODE_IP$APP_BITCOIN_P2P_PORT$APP_BITCOIN_RPC_*(if needed for DAO validation)
-
Pass into Bisq via
--btcNodes. -
Optional: disable Tor for Bitcoin P2P (
--useTorForBtc=false).
- Use
umbrel-devto run app locally (OrbStack, WSL2, or Linux). - Validate persistence: restart app and confirm
/data/bisqsurvives. - Test on both arm64 (Raspberry Pi) and x86_64.
- Community App Store: host your own using the template.
- Official Umbrel Store: open a PR to
getumbrel/umbrel-apps.
- Resources: Bitcoin Core requires large disk space (1–2 TB recommended).
- Security: Protect API password and Bisq seed phrase.
- Persistence: Backup
/data/bisqregularly. - Networking: Ensure Tor hidden service is correctly configured for remote access.
- M0 – PoC: Build image, test Bisq API locally.
- M1 – Bitcoin Core: Connect Bisq to Umbrel Bitcoin node.
- M2 – Packaging: Add
docker-compose.ymlandumbrel-app.yml. - M3 – Secure API: Password, Tor hidden service.
- M4 – Optional UI: gRPC-to-HTTP bridge + small web frontend.
- M5 – Documentation & Release: Write user guide, submit to app store.