diff options
| author | Adam Soltys <[email protected]> | 2026-06-27 11:00:08 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-27 11:00:08 -0700 |
| commit | e0a4a5e9d332f998456b637f5d8ba38563d19827 (patch) | |
| tree | 099ec5b42f5bdd545e82243dfe6b5faddf1edff1 /compose.fulcrum.yml | |
| parent | 45a988b3554f44abd03a2d89f1b9087c993186c1 (diff) | |
| download | coinos-server-regtest-fulcrum.tar.gz coinos-server-regtest-fulcrum.zip | |
regtest: add Fulcrum (Electrum/WS) with ZMQ push for Hal realtimeregtest-fulcrum
Adds a regtest Fulcrum service matching what prod runs, replacing the old
electrs + ews bridge as the data/realtime backend for the Hal browser wallet.
It connects to `bc` and gets instant block/mempool notifications over bitcoind's
ZMQ (hashblock/hashtx), serving them to the browser over an Electrum WebSocket
(:50003) — sub-second deposit + confirmation updates on regtest.
- docker/fulcrum.Dockerfile: Fulcrum on ghcr.io/coinos/base (shares layers with
the rest of the stack instead of a separate image tree).
- compose.fulcrum.yml: opt-in overlay (`-f compose.fulcrum.yml up -d`), config +
datadir under the gitignored data/ (seeded from sampledata by setup.sh).
- sampledata/fulcrum/fulcrum.conf: regtest config pointed at `bc`, ZMQ enabled.
- sampledata/bitcoin/bitcoin.conf: add zmqpubhashblock/hashtx (18508/18509) so
Fulcrum can subscribe for instant notifications.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Diffstat (limited to 'compose.fulcrum.yml')
| -rw-r--r-- | compose.fulcrum.yml | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/compose.fulcrum.yml b/compose.fulcrum.yml new file mode 100644 index 00000000..b57e0351 --- /dev/null +++ b/compose.fulcrum.yml @@ -0,0 +1,22 @@ +# Fulcrum for regtest — an Electrum server over WebSocket, matching what prod +# runs. Replaces the old electrs + ews bridge for Hal's realtime: it gets instant +# block/mempool pushes from bitcoind's ZMQ (see sampledata/bitcoin/bitcoin.conf +# zmqpubhashblock/hashtx) and serves them to the browser over the WS port. +# Config + datadir live under the gitignored data/ (seeded from sampledata by +# setup.sh). Start after the main stack (needs `bc`): +# docker compose -f compose.fulcrum.yml up -d +services: + fulcrum: + image: coinos/fulcrum:latest + container_name: fulcrum + volumes: + - ./data/fulcrum/fulcrum.conf:/etc/fulcrum/fulcrum.conf:ro + - ./data/fulcrum/db:/data + ports: + - "50001:50001" # Electrum TCP + - "50003:50003" # Electrum WebSocket (Hal connects here) + restart: unless-stopped +networks: + default: + name: net + external: true |
