134 lines
3.5 KiB
YAML
134 lines
3.5 KiB
YAML
services:
|
|
btcpayserver:
|
|
image: btcpayserver/btcpayserver:1.13.8
|
|
container_name: btcpayserver
|
|
restart: unless-stopped
|
|
ports:
|
|
- "49392:49392" # BTCPay Server HTTP port
|
|
environment:
|
|
# Database
|
|
- POSTGRES_HOST=postgres
|
|
- POSTGRES_PORT=5432
|
|
- POSTGRES_USER=postgres
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-SomeRandomPasswordForDatabase}
|
|
- POSTGRES_DB=btcpayserver
|
|
|
|
# BTCPay Server Configuration
|
|
- BTCPAY_HOST=pay.silverlabs.uk
|
|
- BTCPAY_PROTOCOL=https
|
|
- BTCPAY_BIND=0.0.0.0:49392
|
|
- BTCPAY_SOCKSENDPOINT=tor:9050
|
|
- BTCPAY_TORRCFILE=/datadir/Tor/torrc
|
|
- BTCPAY_TORSERVICES=btcpayserver:49392
|
|
|
|
# Network settings
|
|
- BTCPAY_NETWORK=mainnet
|
|
- BTCPAY_CHAINS=btc
|
|
- BTCPAY_BTCEXPLORERURL=http://nbxplorer:32838
|
|
- BTCPAY_BTCLIGHTNING=type=lnd-rest;server=https://lnd:8080/;macaroonfilepath=/datadir/admin.macaroon;certfilepath=/datadir/tls.cert
|
|
|
|
# Other settings
|
|
- BTCPAY_ROOTPATH=/
|
|
- BTCPAY_DEBUGLOG=btcpay.log
|
|
- BTCPAY_LOGS_FILE=/datadir/logs/btcpay.log
|
|
- BTCPAY_LOGS_LEVEL=info
|
|
|
|
volumes:
|
|
- btcpay_datadir:/datadir
|
|
- btcpay_logs:/var/log/btcpayserver
|
|
networks:
|
|
- btcpaynetwork
|
|
depends_on:
|
|
- postgres
|
|
- nbxplorer
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.btcpay.rule=Host(`pay.silverlabs.uk`)"
|
|
- "traefik.http.routers.btcpay.tls=true"
|
|
- "traefik.http.routers.btcpay.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.btcpay.loadbalancer.server.port=49392"
|
|
|
|
postgres:
|
|
image: postgres:13
|
|
container_name: btcpay-postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
- POSTGRES_USER=postgres
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-SomeRandomPasswordForDatabase}
|
|
- POSTGRES_DB=btcpayserver
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
networks:
|
|
- btcpaynetwork
|
|
|
|
nbxplorer:
|
|
image: nicolasdorier/nbxplorer:2.5.0
|
|
container_name: btcpay-nbxplorer
|
|
restart: unless-stopped
|
|
ports:
|
|
- "32838:32838"
|
|
environment:
|
|
- NBXPLORER_NETWORK=mainnet
|
|
- NBXPLORER_CHAINS=btc
|
|
- NBXPLORER_BTCRPCURL=http://bitcoind:8332
|
|
- NBXPLORER_BTCRPCUSER=bitcoinrpc
|
|
- NBXPLORER_BTCRPCPASSWORD=${BTC_RPC_PASSWORD:-SomeRandomBitcoinPassword}
|
|
- NBXPLORER_BIND=0.0.0.0:32838
|
|
- NBXPLORER_VERBOSE=1
|
|
- NBXPLORER_NOAUTH=1
|
|
volumes:
|
|
- nbxplorer_data:/datadir
|
|
networks:
|
|
- btcpaynetwork
|
|
depends_on:
|
|
- bitcoind
|
|
|
|
bitcoind:
|
|
image: ruimarinho/bitcoin-core:25
|
|
container_name: btcpay-bitcoind
|
|
restart: unless-stopped
|
|
command: >
|
|
bitcoind
|
|
-server=1
|
|
-rpcuser=bitcoinrpc
|
|
-rpcpassword=${BTC_RPC_PASSWORD:-SomeRandomBitcoinPassword}
|
|
-rpcbind=0.0.0.0:8332
|
|
-rpcallowip=0.0.0.0/0
|
|
-txindex=1
|
|
-prune=0
|
|
volumes:
|
|
- bitcoin_data:/home/bitcoin/.bitcoin
|
|
networks:
|
|
- btcpaynetwork
|
|
ports:
|
|
- "8333:8333" # Bitcoin P2P
|
|
- "8332:8332" # Bitcoin RPC (internal only)
|
|
|
|
tor:
|
|
image: btcpayserver/tor:latest
|
|
container_name: btcpay-tor
|
|
restart: unless-stopped
|
|
environment:
|
|
- TOR_EXTRA_ARGS=
|
|
volumes:
|
|
- tor_data:/datadir
|
|
networks:
|
|
- btcpaynetwork
|
|
|
|
volumes:
|
|
btcpay_datadir:
|
|
driver: local
|
|
btcpay_logs:
|
|
driver: local
|
|
postgres_data:
|
|
driver: local
|
|
nbxplorer_data:
|
|
driver: local
|
|
bitcoin_data:
|
|
driver: local
|
|
tor_data:
|
|
driver: local
|
|
|
|
networks:
|
|
btcpaynetwork:
|
|
driver: bridge |