chore: dev environment — signet testnet stack, mock LND RPCs, faucet button

Switch docker-compose from regtest to signet, add standalone testnet stack
(docker-compose.testnet.yml) with Bitcoin+LND+ThunderHub+Fedimint. Mock
backend now auto-detects Podman/Docker sockets and includes full LND/Lightning
RPC mocks. Dev scripts refactored with boot mode, testnet option, and macOS
EAGAIN fix for port cleanup. Added dev faucet button to Home.vue.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-18 21:06:14 +00:00
co-authored by Claude Opus 4.6
parent e9da567116
commit db2ad27340
10 changed files with 958 additions and 218 deletions
+31 -28
View File
@@ -1,20 +1,21 @@
services:
# Bitcoin Core - regtest mode (no blockchain sync)
# Bitcoin Core - signet mode (lightweight testnet, ~200MB sync)
bitcoin:
image: lncm/bitcoind:v27.0
container_name: archy-bitcoin
ports:
- "18443:18443" # RPC
- "18444:18444" # P2P
- "38332:38332" # RPC
- "38333:38333" # P2P
volumes:
- bitcoin-data:/data/.bitcoin
command: |
-regtest
-signet
-server
-rpcuser=bitcoin
-rpcpassword=bitcoinpass
-rpcallowip=0.0.0.0/0
-rpcbind=0.0.0.0
-rpcport=38332
-txindex=1
-zmqpubrawblock=tcp://0.0.0.0:28332
-zmqpubrawtx=tcp://0.0.0.0:28333
@@ -22,18 +23,6 @@ services:
networks:
- archy-net
# Bitcoin Core UI - Web interface
bitcoin-ui:
image: nginx:alpine
container_name: archy-bitcoin-ui
ports:
- "18445:80"
volumes:
- ./docker/bitcoin-ui:/usr/share/nginx/html:ro
restart: unless-stopped
networks:
- archy-net
# BTCPay Server
btcpay:
image: btcpayserver/btcpayserver:1.13.5
@@ -45,7 +34,7 @@ services:
BTCPAY_HOST: localhost:14142
BTCPAY_CHAINS: btc
BTCPAY_BTCEXPLORERURL: http://mempool:4080
BTCPAY_BTCRPCURL: http://bitcoin:18443
BTCPAY_BTCRPCURL: http://bitcoin:38332
BTCPAY_BTCRPCUSER: bitcoin
BTCPAY_BTCRPCPASSWORD: bitcoinpass
depends_on:
@@ -109,10 +98,10 @@ services:
volumes:
- fedimint-data:/data
environment:
FM_BITCOIND_URL: http://bitcoin:18443
FM_BITCOIND_URL: http://bitcoin:38332
FM_BITCOIND_USERNAME: bitcoin
FM_BITCOIND_PASSWORD: bitcoinpass
FM_BITCOIN_NETWORK: regtest
FM_BITCOIN_NETWORK: signet
FM_BIND_P2P: 0.0.0.0:8173
FM_BIND_API: 0.0.0.0:8174
FM_BIND_UI: 0.0.0.0:8175
@@ -134,9 +123,9 @@ services:
- lnd-data:/root/.lnd
command: |
--bitcoin.active
--bitcoin.regtest
--bitcoin.signet
--bitcoin.node=bitcoind
--bitcoind.rpchost=bitcoin:18443
--bitcoind.rpchost=bitcoin:38332
--bitcoind.rpcuser=bitcoin
--bitcoind.rpcpass=bitcoinpass
--bitcoind.zmqpubrawblock=tcp://bitcoin:28332
@@ -144,21 +133,35 @@ services:
--debuglevel=info
--rpclisten=0.0.0.0:10009
--restlisten=0.0.0.0:8080
--listen=0.0.0.0:9735
--alias=archy-dev
--color=#f7931a
--noseedbackup
--accept-keysend
depends_on:
- bitcoin
restart: unless-stopped
networks:
- archy-net
# LND UI - Web interface
lnd-ui:
image: nginx:alpine
container_name: archy-lnd-ui
# ThunderHub - Lightning node management UI
thunderhub:
image: apotdevin/thunderhub:v0.13.31
container_name: archy-thunderhub
ports:
- "8085:80"
- "3010:3000"
volumes:
- ./docker/lnd-ui:/usr/share/nginx/html:ro
- lnd-data:/lnd-data:ro
- ./testnet/thunderhub-config.yaml:/data/thubConfig.yaml:ro
environment:
ACCOUNT_CONFIG_PATH: /data/thubConfig.yaml
LOG_LEVEL: info
THEME: dark
CURRENCY: BTC
FETCH_PRICES: "false"
FETCH_FEES: "true"
depends_on:
- lnd
restart: unless-stopped
networks:
- archy-net
@@ -187,7 +190,7 @@ services:
ELECTRUM_PORT: 50001
ELECTRUM_TLS_ENABLED: "false"
CORE_RPC_HOST: bitcoin
CORE_RPC_PORT: 18443
CORE_RPC_PORT: 38332
CORE_RPC_USERNAME: bitcoin
CORE_RPC_PASSWORD: bitcoinpass
DATABASE_ENABLED: "true"