citadel-core/docker-compose.yml

265 lines
7.8 KiB
YAML
Raw Normal View History

version: '3.8'
services:
tor:
container_name: tor
2021-11-05 10:30:37 +00:00
image: lncm/tor:0.4.6.8@sha256:c262923ffd0bd224a4a4123cf1c88eea11e2314566b7b7e8a1f77969deeb0208
user: toruser
restart: on-failure
volumes:
- ${PWD}/tor/torrc-core:/etc/tor/torrc
- ${PWD}/tor/data:/var/lib/tor/
ports:
- 127.0.0.1:$TOR_PROXY_PORT:$TOR_PROXY_PORT
networks:
default:
ipv4_address: $TOR_PROXY_IP
2022-01-19 09:00:11 +00:00
app-tor:
container_name: app-tor
2021-11-05 10:30:37 +00:00
image: lncm/tor:0.4.6.8@sha256:c262923ffd0bd224a4a4123cf1c88eea11e2314566b7b7e8a1f77969deeb0208
user: toruser
restart: on-failure
volumes:
- ${PWD}/tor/torrc-apps:/etc/tor/torrc
- ${PWD}/tor/data:/var/lib/tor/
networks:
default:
ipv4_address: $APPS_TOR_IP
2022-01-19 09:00:11 +00:00
app-2-tor:
container_name: app-2-tor
2021-11-05 10:30:37 +00:00
image: lncm/tor:0.4.6.8@sha256:c262923ffd0bd224a4a4123cf1c88eea11e2314566b7b7e8a1f77969deeb0208
user: toruser
restart: on-failure
volumes:
- ${PWD}/tor/torrc-apps-2:/etc/tor/torrc
- ${PWD}/tor/data:/var/lib/tor/
networks:
default:
ipv4_address: $APPS_2_TOR_IP
2022-01-19 09:00:11 +00:00
app-3-tor:
container_name: app-3-tor
2021-11-05 10:30:37 +00:00
image: lncm/tor:0.4.6.8@sha256:c262923ffd0bd224a4a4123cf1c88eea11e2314566b7b7e8a1f77969deeb0208
user: toruser
restart: on-failure
volumes:
- ${PWD}/tor/torrc-apps-3:/etc/tor/torrc
- ${PWD}/tor/data:/var/lib/tor/
networks:
default:
ipv4_address: $APPS_3_TOR_IP
nginx:
container_name: nginx
2022-02-10 18:23:14 +00:00
image: nginx:1.21.6@sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
depends_on:
- dashboard
- manager
volumes:
- ${PWD}/nginx:/etc/nginx
restart: on-failure
stop_grace_period: 30s
ports:
- ${NGINX_PORT}:80
2022-01-02 09:10:57 +00:00
- 433:433
2022-02-16 12:01:36 +00:00
- ${NGINX_SSL_PORT}:443
networks:
default:
ipv4_address: $NGINX_IP
bitcoin:
container_name: bitcoin
2021-11-27 18:47:28 +00:00
image: nolim1t/bitcoinknots:v22.0.knots20211108@sha256:a475da2b2ecda55fcc65ea23e1a36c58b2c10549f1c3d3bb3c31c7dda1127354
depends_on:
- tor
volumes:
- ${PWD}/bitcoin:/data/.bitcoin
restart: on-failure
2021-12-03 19:57:35 +00:00
stop_grace_period: 1m
ports:
- $BITCOIN_P2P_PORT:$BITCOIN_P2P_PORT
networks:
default:
ipv4_address: $BITCOIN_IP
2022-03-11 06:17:26 +00:00
lightning:
container_name: lightning
2022-04-22 14:05:05 +00:00
image: lightninglabs/lnd:v0.14.3-beta@sha256:6a2234b0aad4caed3d993736816b198d6228f32c59b27ba2218d5ebf516ae905
user: 1000:1000
depends_on:
- tor
2021-12-03 19:57:35 +00:00
- bitcoin
volumes:
- ${PWD}/lnd:/data/.lnd
- ${PWD}/walletpassword:/walletpassword
environment:
HOME: /data
restart: on-failure
stop_grace_period: 5m30s
ports:
- 9735:9735
- $LND_REST_PORT:$LND_REST_PORT
- $LND_GRPC_PORT:$LND_GRPC_PORT
networks:
default:
ipv4_address: $LND_IP
dashboard:
container_name: dashboard
2022-05-01 00:43:55 +00:00
image: ghcr.io/runcitadel/dashboard:main@sha256:d042a2eb7a6433cc42d267cf689bd4606e8c2fbf4081256c965ba9a1118c4f6d
restart: on-failure
stop_grace_period: 1m30s
networks:
default:
ipv4_address: $DASHBOARD_IP
manager:
container_name: manager
2022-05-01 00:16:10 +00:00
image: ghcr.io/runcitadel/manager:main@sha256:139647074dc15328e06e74cce6f7009a695e1d361cf4c55eb5609b442f30f774
depends_on:
- tor
2021-11-12 20:33:11 +00:00
- redis
command:
- ./start.sh
restart: on-failure
init: true
stop_grace_period: 5m30s
volumes:
- ${PWD}/info.json:/info.json
- ${PWD}/db:/db
- ${PWD}/events/signals:/signals
- ${PWD}/apps:/apps
- ${PWD}/lnd:/lnd:ro
- ${PWD}/statuses:/statuses
- ${PWD}/tor/data:/var/lib/tor/
- jwt-public-key:/jwt-public-key
- jwt-private-key:/jwt-private-key
environment:
PORT: '3006'
USER_PASSWORD_FILE: /db/user.json
JWT_PUBLIC_KEY_FILE: /jwt-public-key/jwt.pem
JWT_PRIVATE_KEY_FILE: /jwt-private-key/jwt.key
JWT_EXPIRATION: '3600'
DEVICE_HOSTS: ${DEVICE_HOSTS:-"http://citadel.local"}
DEVICE_HOSTNAME: ${DEVICE_HOSTNAME:-""}
MIDDLEWARE_API_URL: http://$MIDDLEWARE_IP
SEED_FILE: /db/citadel-seed/seed
BITCOIN_P2P_PORT: $BITCOIN_P2P_PORT
BITCOIN_RPC_PORT: $BITCOIN_RPC_PORT
BITCOIN_RPC_USER: $BITCOIN_RPC_USER
BITCOIN_RPC_PASSWORD: $BITCOIN_RPC_PASS
LND_CERT_FILE: /lnd/tls.cert
LND_ADMIN_MACAROON_FILE: /lnd/data/chain/bitcoin/${BITCOIN_NETWORK}/admin.macaroon
GITHUB_REPO: runcitadel/core
2022-02-28 21:16:03 +00:00
GITHUB_BRANCH: ${UPDATE_CHANNEL:-"stable"}
VERSION_FILE: /info.json
UPDATE_LOCK_FILE: /statuses/update-in-progress
BACKUP_STATUS_FILE: /statuses/backup-status.json
DEBUG_STATUS_FILE: /statuses/debug-status.json
TOR_PROXY_IP: ${TOR_PROXY_IP}
TOR_PROXY_PORT: ${TOR_PROXY_PORT}
TOR_HIDDEN_SERVICE_DIR: /var/lib/tor
2022-01-02 09:10:57 +00:00
IS_CITADEL_OS: ${IS_CITADEL_OS:-"true"}
2021-11-06 21:23:10 +00:00
REDIS_PASSWORD: freedom
REDIS_IP: $REDIS_IP
2021-11-06 21:44:53 +00:00
REDIS_PORT: 6379
2022-01-02 09:10:57 +00:00
UNSAFE_REMOVE_CORS_CHECK: true
networks:
default:
ipv4_address: $MANAGER_IP
middleware:
container_name: middleware
2022-04-22 14:44:42 +00:00
image: ghcr.io/runcitadel/middleware:v0.0.9@sha256:6763b6006f0deeb746ccf6a5653cbc0401d03dd73e500bb869fb4c28ec258a1b
depends_on:
- manager
- bitcoin
2022-03-19 16:13:50 +00:00
- lightning
2021-11-12 20:33:11 +00:00
- redis
2022-02-26 12:59:54 +00:00
- c-lightning
2022-03-14 18:57:49 +00:00
command: sh -c "./wait-for-manager.sh $MANAGER_IP && ./start.sh"
restart: on-failure
volumes:
- ${PWD}/lnd:/lnd
2022-02-26 12:59:54 +00:00
- ${PWD}/c-lightning:/c-lightning
- jwt-public-key:/jwt-public-key
environment:
PORT: '3005'
BITCOIN_HOST: $BITCOIN_IP
RPC_PORT: $BITCOIN_RPC_PORT
RPC_USER: $BITCOIN_RPC_USER
RPC_PASSWORD: $BITCOIN_RPC_PASS
LND_NETWORK: $BITCOIN_NETWORK
LND_HOST: ${LND_IP}
JWT_PUBLIC_KEY_FILE: /jwt-public-key/jwt.pem
DEVICE_HOSTS: ${DEVICE_HOSTS:-"http://citadel.local"}
2022-01-02 09:10:57 +00:00
UNSAFE_REMOVE_CORS_CHECK: true
2022-02-26 12:59:54 +00:00
LIGHTNING_IMPL: c-lightning
networks:
default:
ipv4_address: $MIDDLEWARE_IP
neutrino-switcher:
container_name: neutrino-switcher
image: lncm/neutrino-switcher:1.0.5@sha256:3ddf58c5599ba22db8414f2694bfeeba086455d4a19b4955b26c3ae5e967d42a
depends_on:
- bitcoin
2022-03-19 16:13:50 +00:00
- lightning
restart: on-failure
volumes:
- ${PWD}/lnd:/lnd
- ${PWD}/statuses:/statuses
- /var/run/docker.sock:/var/run/docker.sock
environment:
JSONRPCURL: http://${BITCOIN_IP}:${BITCOIN_RPC_PORT}
RPCUSER: $BITCOIN_RPC_USER
RPCPASS: $BITCOIN_RPC_PASS
2022-03-19 16:13:50 +00:00
LND_CONTAINER_NAME: lightning
SLEEPTIME: 3600
networks:
default:
ipv4_address: $NEUTRINO_SWITCHER_IP
2022-03-09 11:55:44 +00:00
electrum:
container_name: electrum
2022-02-10 18:34:17 +00:00
image: ghcr.io/runcitadel/electrs:v0.9.5@sha256:5fdd76415645de14f31c43844dc143b1477f86872d2f73a041c5005d469ed510
working_dir: /data
volumes:
- ${PWD}/bitcoin:/bitcoin:ro
- ${PWD}/electrs:/data
restart: on-failure
stop_grace_period: 5m
ports:
- $ELECTRUM_PORT:$ELECTRUM_PORT
networks:
default:
ipv4_address: $ELECTRUM_IP
c-lightning:
container_name: c-lightning
2022-04-22 18:46:36 +00:00
image: ghcr.io/runcitadel/c-lightning:main@sha256:ce7c30c858047c75ed13e88fda2d731db44627d6b238ad17c46cbef0c09aa67c
environment:
LIGHTNINGD_NETWORK: bitcoin
CL_REST_STATE_DIR: /data/.lightning
restart: on-failure
volumes:
- ${PWD}/c-lightning:/data/.lightning
- ${PWD}/bitcoin:/data/.bitcoin
2022-03-19 21:32:35 +00:00
ports:
2022-03-20 13:36:57 +00:00
- $SPARKO_RPC_PORT:$SPARKO_RPC_PORT
networks:
default:
ipv4_address: $C_LIGHTNING_IP
2021-11-06 21:10:06 +00:00
redis:
container_name: redis
2022-02-10 18:26:00 +00:00
image: redis:6.2.6-bullseye@sha256:0d9c9aed1eb385336db0bc9b976b6b49774aee3d2b9c2788a0d0d9e239986cb3
2021-11-06 21:10:06 +00:00
working_dir: /data
volumes:
- ${PWD}/redis:/data
2021-11-07 08:10:31 +00:00
command: redis-server --requirepass freedom
restart: on-failure
2021-11-12 20:33:11 +00:00
stop_grace_period: 1m
2021-11-06 21:10:06 +00:00
init: true
networks:
default:
ipv4_address: $REDIS_IP
networks:
default:
name: citadel_main_network
ipam:
driver: default
config:
- subnet: $NETWORK_IP/24
volumes:
jwt-public-key: null
jwt-private-key: null