Files
mutiny-net/docker-compose.yml
2023-10-01 00:47:23 -05:00

221 lines
6.5 KiB
YAML

version: "3.7"
services:
bitcoind:
container_name: "bitcoind"
build: .
user: "0:1000"
restart: always
stop_grace_period: 1m
volumes:
- ~/volumes/.bitcoin:/root/.bitcoin
environment:
UACOMMENT: $UACOMMENT
BLOCKPRODUCTIONDELAY: $BLOCKPRODUCTIONDELAY
NBITS: $NBITS
RPCPASSWORD: $RPCPASSWORD
PRIVKEY: $PRIVKEY
SIGNETCHALLENGE: $SIGNETCHALLENGE
EXTERNAL_IP: $EXTERNAL_IP
ports:
- "28332:28332"
- "28333:28333"
- "28334:28334"
- "38332:38332"
- "38333:38333"
- "38334:38334"
lnd:
container_name: "lnd"
image: lightninglabs/lnd:v0.16.4-beta
user: "0:1000"
restart: always
stop_grace_period: 10m
environment:
RPCPASSWORD: $RPCPASSWORD
command: [
"--bitcoin.active",
"--bitcoin.signet",
"--bitcoin.node=bitcoind",
"--maxpendingchannels=10",
"--rpclisten=0.0.0.0:10009",
"--restlisten=0.0.0.0:8081",
"--bitcoind.rpchost=bitcoind:38332",
"--bitcoind.rpcuser=bitcoin",
"--bitcoind.rpcpass=$RPCPASSWORD",
"--bitcoind.zmqpubrawblock=tcp://bitcoind:28332",
"--bitcoind.zmqpubrawtx=tcp://bitcoind:28333",
"--alias=mutiny-net-lnd",
"--externalip=mutinynet.com",
"--externalip=gfg7fwat27mnsmlog7wbgi6a53f2b5rj56bwokcfk45bacnb4z5kt5ad.onion",
"--tlsextradomain=mutinynet.com",
"--tlsextradomain=lnd",
"--protocol.option-scid-alias",
"--protocol.wumbo-channels",
"--accept-keysend",
"--minchansize=25000",
"--noseedbackup",
"--coin-selection-strategy=random",
]
volumes:
- ~/volumes/.lnd:/root/.lnd
ports:
- "9735:9735"
- "10009:10009"
- "8081:8081"
rgs_server:
container_name: "rgs-server"
restart: always
stop_grace_period: 1m
build:
context: ./rapid-gossip-sync-server
dockerfile: ./docker/Dockerfile.rgs
volumes:
- ~/volumes/rgs:/usr/src/app:cached
links:
- postgres
- bitcoind
depends_on:
- postgres
environment:
RAPID_GOSSIP_SYNC_SERVER_DB_HOST: postgres
RAPID_GOSSIP_SYNC_SERVER_DB_USER: lightning-rgs
RAPID_GOSSIP_SYNC_SERVER_DB_PASSWORD: docker
RAPID_GOSSIP_SYNC_SERVER_DB_NAME: ln_graph_sync
RAPID_GOSSIP_SYNC_SERVER_NETWORK: signet
BITCOIN_REST_DOMAIN: bitcoind
BITCOIN_REST_PORT: 38332
LN_PEERS: 02465ed5be53d04fde66c9418ff14a5f2267723810176c9212b722e542dc1afb1b@lnd:9735 # lnd's node id
entrypoint: [ "rapid-gossip-sync-server" ]
postgres:
container_name: "postgres"
image: 'postgres:12-alpine'
restart: always
stop_grace_period: 1m
user: "0:1000"
ports:
- "5432:5432"
volumes:
- ~/volumes/postgres:/var/lib/postgresql/data
environment:
POSTGRES_USER: lightning-rgs
POSTGRES_PASSWORD: docker
POSTGRES_DB: ln_graph_sync
electrs:
container_name: "electrs"
build:
context: ./electrs
user: "0:1000"
restart: always
stop_grace_period: 1m
environment:
FLAGS: '-vvvv --signet-magic cb2ddfa5 --jsonrpc-import --daemon-dir /root/.bitcoin/signet --daemon-rpc-addr bitcoind:38332 --timestamp --blocks-dir /root/.bitcoin/signet/blocks --cookie=bitcoin:$RPCPASSWORD --db-dir /root/.electrs --network signet --electrum-rpc-addr 0.0.0.0:50001 --http-addr 0.0.0.0:3003'
volumes:
- ~/volumes/electrs:/root/.electrs
ports:
- "3003:3003"
- "50001:50001"
faucet:
container_name: "faucet"
build:
context: ./mutinynet-faucet
args:
VITE_HOST: "bitcoind"
VITE_PORT: "38332"
VITE_USER: "bitcoin"
VITE_PASS: $RPCPASSWORD
VITE_NETWORK: "regtest" # wrong intentionally because of bug in a library
VITE_LND_GRPC: "lnd:10009"
VITE_TLS_CERT: $LND_TLS_CERT
VITE_ADMIN_MACAROON: $LND_ADMIN_MACAROON
user: "0:1000"
restart: always
stop_grace_period: 1m
volumes:
- ~/volumes/faucet:/root/.faucet
ports:
- "3000:3000"
faucet_backend:
container_name: "faucet_backend"
image: ghcr.io/mutinywallet/mutinynet-faucet-rs:master
environment:
RUST_LOG: "info"
BITCOIN_RPC_HOST_AND_PORT: "bitcoind:38332"
BITCOIN_RPC_USER: "bitcoin"
BITCOIN_RPC_PASSWORD: $RPCPASSWORD
NETWORK: "signet"
HOST: "https://faucet.mutinynet.com"
GRPC_PORT: "10009"
GRPC_HOST: "lnd"
TLS_CERT_PATH: "/root/.lnd/tls.cert"
ADMIN_MACAROON_PATH: "/root/.lnd/data/chain/bitcoin/signet/admin.macaroon"
user: "0:1000"
restart: always
stop_grace_period: 1m
volumes:
- ~/volumes/.lnd:/root/.lnd:ro
ports:
- "3001:3001"
web:
container_name: "mempool_frontend"
environment:
FRONTEND_HTTP_PORT: "8080"
BACKEND_MAINNET_HTTP_HOST: "api"
LIGHTNING: "true"
image: mempool/frontend:latest
user: "0:1000"
restart: always
stop_grace_period: 1m
command: "./wait-for db:3306 --timeout=720 -- nginx -g 'daemon off;'"
ports:
- "8080:8080"
api:
container_name: "mempool_backend"
environment:
MEMPOOL_NETWORK: "signet"
MEMPOOL_BACKEND: "none"
ELECTRUM_HOST: "electrs"
ELECTRUM_PORT: "50001"
ELECTRUM_TLS_ENABLED: "false"
ESPLORA_REST_API_URL: "http://electrs:3003"
CORE_RPC_HOST: "bitcoind"
CORE_RPC_PORT: "38332"
CORE_RPC_USERNAME: "bitcoin"
CORE_RPC_PASSWORD: $RPCPASSWORD
CORE_RPC_TIMEOUT: "60000"
DATABASE_ENABLED: "true"
DATABASE_HOST: "db"
DATABASE_DATABASE: "mempool"
DATABASE_USERNAME: "mempool"
DATABASE_PASSWORD: "mempool"
STATISTICS_ENABLED: "false"
LIGHTNING_ENABLED: "true"
LIGHTNING_BACKEND: "lnd"
LND_TLS_CERT_PATH: "/root/.lnd/tls.cert"
LND_MACAROON_PATH: "/root/.lnd/data/chain/bitcoin/signet/admin.macaroon"
LND_REST_API_URL: "https://lnd:8081"
image: mempool/backend:latest
user: "0:1000"
restart: always
stop_grace_period: 1m
command: "./wait-for-it.sh db:3306 --timeout=720 --strict -- ./start.sh"
ports:
- "8889:8889"
- "8999:8999"
volumes:
- ~/volumes/mempool:/backend/cache
- ~/volumes/.lnd:/root/.lnd:ro
db:
container_name: "mempool_db"
environment:
MYSQL_DATABASE: "mempool"
MYSQL_USER: "mempool"
MYSQL_PASSWORD: "mempool"
MYSQL_ROOT_PASSWORD: "admin"
image: mariadb:10.5.8
user: "0:1000"
restart: always
stop_grace_period: 1m
volumes:
- ~/volumes/mysql/data:/var/lib/mysql