Files
campaign-site/docker-compose.yml

135 lines
4.5 KiB
YAML

services:
magic-redis:
container_name: magic-redis
image: redis:7-alpine
restart: unless-stopped
magic-btcpayserver:
restart: unless-stopped
container_name: magic-btcpayserver
image: ${BTCPAY_IMAGE:-btcpayserver/btcpayserver:1.13.3-altcoins}
expose:
- '49392'
environment:
BTCPAY_POSTGRES: User ID=postgres;Host=btcpay-postgres;Port=5432;Application Name=btcpayserver;Database=btcpayserver${NBITCOIN_NETWORK:-mainnet}
BTCPAY_EXPLORERPOSTGRES: User ID=postgres;Host=btcpay-postgres;Port=5432;Application Name=btcpayserver;MaxPoolSize=80;Database=nbxplorer${NBITCOIN_NETWORK:-mainnet}
BTCPAY_NETWORK: ${NBITCOIN_NETWORK:-mainnet}
BTCPAY_BIND: 0.0.0.0:49392
BTCPAY_ROOTPATH: ${BTCPAY_ROOTPATH:-/}
BTCPAY_SSHCONNECTION: 'root@host.docker.internal'
BTCPAY_SSHTRUSTEDFINGERPRINTS: ${BTCPAY_SSHTRUSTEDFINGERPRINTS}
BTCPAY_SSHKEYFILE: ${BTCPAY_SSHKEYFILE}
BTCPAY_SSHAUTHORIZEDKEYS: ${BTCPAY_SSHAUTHORIZEDKEYS}
BTCPAY_DEBUGLOG: btcpay.log
BTCPAY_UPDATEURL: https://api.github.com/repos/btcpayserver/btcpayserver/releases/latest
BTCPAY_DOCKERDEPLOYMENT: 'true'
BTCPAY_CHAINS: 'xmr'
BTCPAY_XMR_DAEMON_URI: http://xmr-node.cakewallet.com:18081
BTCPAY_XMR_WALLET_DAEMON_URI: http://monerod_wallet:18082
BTCPAY_XMR_WALLET_DAEMON_WALLETDIR: /root/xmr_wallet
labels:
traefik.enable: 'true'
traefik.http.routers.btcpayserver.rule: Host(`${BTCPAY_HOST}`)
extra_hosts:
- 'host.docker.internal:host-gateway'
links:
- btcpay-postgres
volumes:
- 'btcpay_datadir:/datadir'
- 'nbxplorer_datadir:/root/.nbxplorer'
- 'btcpay_pluginsdir:/root/.btcpayserver/Plugins'
- 'xmr_wallet:/root/xmr_wallet'
- 'tor_servicesdir:/var/lib/tor/hidden_services'
- 'tor_torrcdir:/usr/local/etc/tor/'
ports:
- '49392:49392'
magic-monerod-wallet:
restart: unless-stopped
container_name: magic-monerod-wallet
image: btcpayserver/monero:0.18.3.3
entrypoint: monero-wallet-rpc --rpc-bind-ip=0.0.0.0 --disable-rpc-login --confirm-external-bind --rpc-bind-port=18082 --non-interactive --trusted-daemon --daemon-address=xmr-node.cakewallet.com:18081 --wallet-file=/wallet/wallet --password-file /wallet/password --tx-notify="/bin/sh ./scripts/notifier.sh -X GET http://btcpayserver:49392/monerolikedaemoncallback/tx?cryptoCode=xmr&hash=%s"
expose:
- '18082'
ports:
- 18082:18082
volumes:
- 'xmr_wallet:/wallet'
magic-nbxplorer:
restart: unless-stopped
container_name: magic-nbxplorer
image: nicolasdorier/nbxplorer:2.5.2
expose:
- '32838'
environment:
NBXPLORER_NETWORK: ${NBITCOIN_NETWORK:-mainnet}
NBXPLORER_BIND: 0.0.0.0:32838
NBXPLORER_TRIMEVENTS: 10000
NBXPLORER_SIGNALFILESDIR: /datadir
NBXPLORER_POSTGRES: User ID=postgres;Host=btcpay-postgres;Port=5432;Application Name=nbxplorer;MaxPoolSize=20;Database=nbxplorer${NBITCOIN_NETWORK:-mainnet}
NBXPLORER_AUTOMIGRATE: 1
NBXPLORER_NOMIGRATEEVTS: 1
NBXPLORER_DELETEAFTERMIGRATION: 1
links:
- btcpay-postgres
volumes:
- 'nbxplorer_datadir:/datadir'
magic-btcpay-postgres:
restart: unless-stopped
container_name: magic-btcpay-postgres
shm_size: 256mb
image: btcpayserver/postgres:13.13
command: ['-c', 'random_page_cost=1.0', '-c', 'shared_preload_libraries=pg_stat_statements']
environment:
POSTGRES_HOST_AUTH_METHOD: trust
volumes:
- 'btcpay_postgres_datadir:/var/lib/postgresql/data'
magic-postgres:
image: postgres:16-alpine
container_name: magic-postgres
restart: unless-stopped
ports:
- 5432:5432
environment:
POSTGRES_USER: magic
POSTGRES_DB: magic
POSTGRES_PASSWORD: magic
volumes:
- 'magic_postgres_data:/var/lib/postgresql/data'
magic-keycloak:
image: quay.io/keycloak/keycloak:25.0.6
container_name: magic-keycloak
restart: unless-stopped
command: start-dev
ports:
- 8080:8080
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
magic-app:
image: node:20-alpine
container_name: magic-app
restart: unless-stopped
working_dir: /app
command: npm run dev
ports:
- 3000:3000
volumes:
- '.:/app'
volumes:
btcpay_datadir:
btcpay_pluginsdir:
xmr_wallet:
xmr_data:
tor_datadir:
tor_torrcdir:
tor_servicesdir:
nbxplorer_datadir:
btcpay_postgres_datadir:
magic_postgres_data: