70 lines
2.6 KiB
YAML
70 lines
2.6 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
app_proxy:
|
|
environment:
|
|
APP_HOST: $APP_FULCRUM_IP
|
|
APP_PORT: 3006
|
|
|
|
app:
|
|
image: nmfretz/umbrel-fulcrum:1.0.1@sha256:7ebcb84446e55dbbde7711a4ac2d65ca65c55d0092e6640b41ca2d9c4539a3ff
|
|
depends_on:
|
|
- fulcrum
|
|
restart: on-failure
|
|
environment:
|
|
ELECTRUM_HIDDEN_SERVICE: "${APP_FULCRUM_RPC_HIDDEN_SERVICE}"
|
|
ELECTRUM_LOCAL_SERVICE: "${DEVICE_DOMAIN_NAME}"
|
|
ELECTRUM_HOST: "${APP_FULCRUM_NODE_IP}"
|
|
ELECTRUM_PUBLIC_CONNECTION_PORT: ${APP_FULCRUM_NODE_PORT}
|
|
BITCOIN_HOST: "${APP_BITCOIN_NODE_IP}"
|
|
RPC_USER: "${APP_BITCOIN_RPC_USER}"
|
|
RPC_PASSWORD: "${APP_BITCOIN_RPC_PASS}"
|
|
RPC_PORT: "${APP_BITCOIN_RPC_PORT}"
|
|
volumes:
|
|
- "${APP_DATA_DIR}/data/fulcrum-logs:/fulcrum-logs"
|
|
networks:
|
|
default:
|
|
ipv4_address: $APP_FULCRUM_IP
|
|
|
|
fulcrum:
|
|
image: cculianu/fulcrum:v2.1.0@sha256:71cb19ce9f8318edae1b581a793588c98f55f2f28c12e17327c478ed963ef4e3
|
|
init: true
|
|
# Положитесь на стандартный SIGTERM Docker; Fulcrum считает SIGTERM/SIGINT/SIGQUIT изящным
|
|
# Щедрый льготный период предотвращает SIGKILL во время checkpoint/flush при выходе
|
|
stop_grace_period: 5m
|
|
restart: on-failure
|
|
user: "1000:1000"
|
|
environment:
|
|
TCP: 0.0.0.0:${APP_FULCRUM_NODE_PORT}
|
|
ADMIN: 0.0.0.0:${APP_FULCRUM_ADMIN_PORT}
|
|
BITCOIND: ${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_RPC_PORT}
|
|
RPCUSER: ${APP_BITCOIN_RPC_USER}
|
|
RPCPASSWORD: ${APP_BITCOIN_RPC_PASS}
|
|
PEERING: "false"
|
|
ANNOUNCE: "false"
|
|
DATA_DIR: /data
|
|
# Exec Fulcrum как PID1, поэтому он получает SIGTERM напрямую; FIFO+tee зеркально отображает вывод в журналы докера и /logs/fulcrum.log
|
|
# rm -f делает создание FIFO идемпотентным в циклах restarts/crash
|
|
command: >
|
|
sh -c 'rm -f /tmp/fulcrum.pipe; mkfifo /tmp/fulcrum.pipe;
|
|
tee -a /logs/fulcrum.log < /tmp/fulcrum.pipe &
|
|
exec Fulcrum -D /data _ENV_ > /tmp/fulcrum.pipe 2>&1'
|
|
volumes:
|
|
- "${APP_DATA_DIR}/data/fulcrum:/data"
|
|
- "${APP_DATA_DIR}/data/fulcrum-logs:/logs"
|
|
ports:
|
|
- "${APP_FULCRUM_NODE_PORT}:${APP_FULCRUM_NODE_PORT}"
|
|
networks:
|
|
default:
|
|
ipv4_address: $APP_FULCRUM_NODE_IP
|
|
|
|
tor:
|
|
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a
|
|
user: "1000:1000"
|
|
restart: on-failure
|
|
volumes:
|
|
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro
|
|
- ${TOR_DATA_DIR}:/data
|
|
environment:
|
|
HOME: "/tmp"
|