90 lines
3.4 KiB
YAML
90 lines
3.4 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
app_proxy:
|
|
environment:
|
|
APP_HOST: bitcoin-regtest-dashboard_dashboard_1
|
|
APP_PORT: 3000
|
|
|
|
# Bitcoin Core в режиме регистрации (автономный, без зависимостей)
|
|
bitcoin:
|
|
image: ghcr.io/getumbrel/docker-bitcoind:v30.2@sha256:75ad7da4eaa2a56b92e5703ff39fa86aa7b9012c50749ca082f018a761d136cd
|
|
user: "1000:1000"
|
|
restart: on-failure
|
|
entrypoint: ["/bin/sh", "-c"]
|
|
command:
|
|
- |
|
|
rm -f /data/.bitcoin/regtest/.ready
|
|
bitcoind -regtest \
|
|
-server=1 \
|
|
-rpcbind=0.0.0.0 \
|
|
-rpcallowip=0.0.0.0/0 \
|
|
-rpcport=18443 \
|
|
-txindex=1 \
|
|
-fallbackfee=0.00001 \
|
|
-disablewallet=0 \
|
|
-zmqpubrawblock=tcp://0.0.0.0:28332 \
|
|
-zmqpubrawtx=tcp://0.0.0.0:28333 &
|
|
BITCOIND_PID=$$!
|
|
while [ ! -f /data/.bitcoin/regtest/.cookie ]; do sleep 1; done
|
|
chmod 755 /data/.bitcoin/regtest
|
|
chmod 644 /data/.bitcoin/regtest/.cookie
|
|
sleep 2
|
|
bitcoin-cli -regtest -rpccookiefile=/data/.bitcoin/regtest/.cookie createwallet "regtest_wallet" 2>/dev/null || \
|
|
bitcoin-cli -regtest -rpccookiefile=/data/.bitcoin/regtest/.cookie loadwallet "regtest_wallet" 2>/dev/null || true
|
|
bitcoin-cli -regtest -rpccookiefile=/data/.bitcoin/regtest/.cookie -rpcwallet=regtest_wallet -generate 1 >/dev/null 2>&1 || true
|
|
touch /data/.bitcoin/regtest/.ready
|
|
while kill -0 $$BITCOIND_PID 2>/dev/null; do
|
|
chmod 755 /data/.bitcoin/regtest 2>/dev/null
|
|
chmod 644 /data/.bitcoin/regtest/.cookie 2>/dev/null
|
|
sleep 5
|
|
done &
|
|
wait $$BITCOIND_PID
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/bitcoin:/data/.bitcoin
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "test -f /data/.bitcoin/regtest/.ready && chmod 644 /data/.bitcoin/regtest/.cookie && bitcoin-cli -regtest -rpccookiefile=/data/.bitcoin/regtest/.cookie getblockchaininfo"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 10s
|
|
|
|
# Electrs — реализация Electrum Server
|
|
electrs:
|
|
image: getumbrel/electrs:v0.11.0@sha256:0a2c6f573abfd8d724651c6ba1c1f3a9c740219c1cf0f4468043c3342170d8a5
|
|
user: "1000:1000"
|
|
restart: on-failure
|
|
ports:
|
|
- "60401:50001"
|
|
environment:
|
|
ELECTRS_ELECTRUM_RPC_ADDR: "0.0.0.0:50001"
|
|
ELECTRS_DAEMON_RPC_ADDR: "bitcoin-regtest-dashboard_bitcoin_1:18443"
|
|
ELECTRS_DAEMON_P2P_ADDR: "bitcoin-regtest-dashboard_bitcoin_1:18444"
|
|
ELECTRS_LOG_FILTERS: "INFO"
|
|
ELECTRS_NETWORK: "regtest"
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/electrs:/data
|
|
- ${APP_DATA_DIR}/data/bitcoin:/data/.bitcoin:ro
|
|
depends_on:
|
|
bitcoin:
|
|
condition: service_healthy
|
|
|
|
# Панель регистрации биткойнов
|
|
dashboard:
|
|
image: coreylphillips/bitcoin-regtest-dashboard:v1.0.3@sha256:f1ccffc2002f107559338f015097e49af7f547eababfcd1f53f0f2bdbd159c88
|
|
user: "1000:1000"
|
|
restart: on-failure
|
|
environment:
|
|
PORT: 3000
|
|
BITCOIN_RPC_HOST: bitcoin-regtest-dashboard_bitcoin_1
|
|
BITCOIN_RPC_PORT: 18443
|
|
BITCOIN_COOKIE_FILE: /bitcoin/.bitcoin/regtest/.cookie
|
|
ELECTRS_HOST: bitcoin-regtest-dashboard_electrs_1
|
|
ELECTRS_PORT: 50001
|
|
ELECTRS_EXTERNAL_PORT: 60401
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/bitcoin:/bitcoin/.bitcoin:ro
|
|
depends_on:
|
|
bitcoin:
|
|
condition: service_healthy
|