2022-10-26 08:28:31 +00:00
|
|
|
# SPDX-FileCopyrightText: 2022 Citadel and contributors
|
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
2021-10-22 15:22:10 +00:00
|
|
|
services:
|
|
|
|
tor:
|
|
|
|
container_name: tor
|
2022-10-26 08:28:31 +00:00
|
|
|
image: lncm/tor:0.4.7.9@sha256:86c2fe9d9099e6376798979110b8b9a3ee5d8adec27289ac4a5ee892514ffe92
|
2021-10-22 15:22:10 +00:00
|
|
|
user: toruser
|
|
|
|
restart: on-failure
|
|
|
|
volumes:
|
|
|
|
- ${PWD}/tor/torrc-core:/etc/tor/torrc
|
|
|
|
- ${PWD}/tor/data:/var/lib/tor/
|
|
|
|
ports:
|
2022-11-04 17:17:35 +00:00
|
|
|
- 127.0.0.1:$TOR_PROXY_PORT:$TOR_PROXY_PORT
|
2021-10-22 15:22:10 +00:00
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
ipv4_address: $TOR_PROXY_IP
|
2022-01-19 09:00:11 +00:00
|
|
|
app-tor:
|
|
|
|
container_name: app-tor
|
2022-10-26 08:28:31 +00:00
|
|
|
image: lncm/tor:0.4.7.9@sha256:86c2fe9d9099e6376798979110b8b9a3ee5d8adec27289ac4a5ee892514ffe92
|
2021-10-22 15:22:10 +00:00
|
|
|
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
|
2022-10-26 08:28:31 +00:00
|
|
|
image: lncm/tor:0.4.7.9@sha256:86c2fe9d9099e6376798979110b8b9a3ee5d8adec27289ac4a5ee892514ffe92
|
2021-10-22 15:22:10 +00:00
|
|
|
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
|
2022-10-26 08:28:31 +00:00
|
|
|
image: lncm/tor:0.4.7.9@sha256:86c2fe9d9099e6376798979110b8b9a3ee5d8adec27289ac4a5ee892514ffe92
|
2021-10-22 15:22:10 +00:00
|
|
|
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
|
2021-10-22 15:22:10 +00:00
|
|
|
depends_on:
|
|
|
|
- dashboard
|
|
|
|
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
|
2021-10-22 15:22:10 +00:00
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
ipv4_address: $NGINX_IP
|
|
|
|
bitcoin:
|
|
|
|
container_name: bitcoin
|
2022-08-11 11:50:09 +00:00
|
|
|
image: ghcr.io/runcitadel/bitcoinknots:main@sha256:5fbee0f6f0d09d42aacc11c373ffe6162210c42ce21e6eba294e547e3ad80219
|
2021-10-22 15:22:10 +00:00
|
|
|
depends_on:
|
|
|
|
- tor
|
|
|
|
volumes:
|
|
|
|
- ${PWD}/bitcoin:/data/.bitcoin
|
|
|
|
restart: on-failure
|
2021-12-03 19:57:35 +00:00
|
|
|
stop_grace_period: 1m
|
2021-10-22 15:22:10 +00:00
|
|
|
ports:
|
|
|
|
- $BITCOIN_P2P_PORT:$BITCOIN_P2P_PORT
|
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
ipv4_address: $BITCOIN_IP
|
2022-03-20 08:02:30 +00:00
|
|
|
lightning:
|
|
|
|
container_name: lightning
|
2022-11-01 13:35:11 +00:00
|
|
|
image: lightninglabs/lnd:v0.15.4-beta@sha256:f5b19812ab7d28faa350838dac4bb88e7fcf9ae905e44d3539be41a97b80ca23
|
2021-10-22 15:22:10 +00:00
|
|
|
user: 1000:1000
|
|
|
|
depends_on:
|
|
|
|
- tor
|
2021-12-03 19:57:35 +00:00
|
|
|
- bitcoin
|
2021-10-22 15:22:10 +00:00
|
|
|
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:
|
2022-10-26 08:28:31 +00:00
|
|
|
container_name: dashboard
|
2022-11-01 13:33:14 +00:00
|
|
|
image: ghcr.io/runcitadel/dashboard:citadel-0.0.10@sha256:de8a3ed4fbacaa68f76787f38f54da782036890be9052f7c5a35f4814f7e1027
|
2021-10-22 15:22:10 +00:00
|
|
|
restart: on-failure
|
|
|
|
stop_grace_period: 1m30s
|
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
ipv4_address: $DASHBOARD_IP
|
|
|
|
manager:
|
|
|
|
container_name: manager
|
2022-11-11 16:07:33 +00:00
|
|
|
image: ghcr.io/citadel-core/api:main@sha256:9418bcb77c79ee1be5d6ddf64f9fa3abbacfcd8c99b18aa3844a92c85a701b85
|
2021-10-22 15:22:10 +00:00
|
|
|
depends_on:
|
|
|
|
- tor
|
|
|
|
restart: on-failure
|
|
|
|
init: true
|
|
|
|
stop_grace_period: 5m30s
|
|
|
|
volumes:
|
|
|
|
- ${PWD}/info.json:/info.json
|
|
|
|
- ${PWD}/db:/db
|
2022-05-24 04:34:38 +00:00
|
|
|
- ${PWD}/events:/events
|
2021-10-22 15:22:10 +00:00
|
|
|
- ${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:
|
|
|
|
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
|
2022-11-11 16:07:33 +00:00
|
|
|
BITCOIN_HOST: $BITCOIN_IP
|
2021-10-22 15:22:10 +00:00
|
|
|
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"}
|
2021-10-22 15:22:10 +00:00
|
|
|
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"}
|
2022-11-01 13:33:14 +00:00
|
|
|
I2P_PASSWORD: $I2P_PASSWORD
|
|
|
|
I2P_USERNAME: i2pd
|
2022-11-07 18:43:51 +00:00
|
|
|
ELECTRUM_HOST: $APP_ELECTRUM_IP
|
|
|
|
ELECTRUM_PORT: 50001
|
2022-11-11 16:07:33 +00:00
|
|
|
LND_SERVER: ${GRPC_PROXY_IP}:8080
|
2021-10-22 15:22:10 +00:00
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
ipv4_address: $MANAGER_IP
|
|
|
|
middleware:
|
|
|
|
container_name: middleware
|
2022-10-26 08:28:31 +00:00
|
|
|
image: ghcr.io/runcitadel/middleware:deno-manager@sha256:ff27301f4059a5b259bb5db79edcff682dfbf84864d24fc7fa49b11d1890e484
|
2021-10-22 15:22:10 +00:00
|
|
|
depends_on:
|
|
|
|
- bitcoin
|
2022-03-20 08:02:30 +00:00
|
|
|
- lightning
|
2022-09-05 19:01:12 +00:00
|
|
|
command: sh -c "./wait-for-manager.sh $MANAGER_IP && ././start.sh"
|
2021-10-22 15:22:10 +00:00
|
|
|
restart: on-failure
|
|
|
|
volumes:
|
|
|
|
- ${PWD}/lnd:/lnd
|
|
|
|
- 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
|
2021-10-22 15:22:10 +00:00
|
|
|
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-20 08:02:30 +00:00
|
|
|
- lightning
|
2021-10-22 15:22:10 +00:00
|
|
|
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-20 08:02:30 +00:00
|
|
|
LND_CONTAINER_NAME: lightning
|
2021-10-22 15:22:10 +00:00
|
|
|
SLEEPTIME: 3600
|
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
ipv4_address: $NEUTRINO_SWITCHER_IP
|
2022-10-28 18:17:17 +00:00
|
|
|
i2p:
|
|
|
|
container_name: i2p
|
2022-09-05 19:01:12 +00:00
|
|
|
user: 1000:1000
|
2022-10-28 18:17:17 +00:00
|
|
|
image: purplei2p/i2pd:latest@sha256:d8e1a28a8428ed9bda15bbf773e355cf46c89c652dcaa6cd9131606ee308ae47
|
2021-11-06 21:10:06 +00:00
|
|
|
working_dir: /data
|
|
|
|
volumes:
|
2022-10-28 18:17:17 +00:00
|
|
|
- ${PWD}/i2p:/home/i2pd/data
|
2021-11-07 08:10:31 +00:00
|
|
|
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:
|
2022-10-28 18:17:17 +00:00
|
|
|
ipv4_address: $I2P_IP
|
2022-11-11 16:07:33 +00:00
|
|
|
grpc-proxy:
|
2022-11-11 17:48:28 +00:00
|
|
|
image: ghcr.io/runcitadel/grpc-web-proxy:main@sha256:c5ebe8753090f4a7e67990cf1464e134cd553cd06794e5cae6896f537c6e317e
|
2022-11-11 16:07:33 +00:00
|
|
|
# This prox is only used internally, so no TLS needed
|
|
|
|
command: /grpcwebproxy --backend_addr=$LND_IP:$LND_GRPC_PORT --run_tls_server=false --backend_max_call_recv_msg_size=20971520 --backend_tls_noverify
|
|
|
|
stop_grace_period: 20s
|
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
ipv4_address: $GRPC_PROXY_IP
|
2021-10-22 15:22:10 +00:00
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
name: citadel_main_network
|
|
|
|
ipam:
|
|
|
|
driver: default
|
|
|
|
config:
|
|
|
|
- subnet: $NETWORK_IP/24
|
|
|
|
volumes:
|
|
|
|
jwt-public-key: null
|
|
|
|
jwt-private-key: null
|