version: "3.7" services: app_proxy: environment: APP_HOST: $APP_CORE_LIGHTNING_IP APP_PORT: $APP_CORE_LIGHTNING_PORT app: image: ghcr.io/elementsproject/cln-application:0.0.5@sha256:5125fc784564997d4d047cb99378284f57eb4900ebc39bdd9ab56811a4763312 command: npm run start restart: on-failure volumes: - ${APP_DATA_DIR}/data/app:${APP_CONFIG_DIR} - ${APP_CORE_LIGHTNING_DATA_DIR}:${CORE_LIGHTNING_PATH} - ${APP_CORE_LIGHTNING_REST_CERT_DIR}:${APP_REST_CERT_VOLUME_DIR} environment: SINGLE_SIGN_ON: "true" APP_CORE_LIGHTNING_IP: ${APP_CORE_LIGHTNING_IP} APP_CORE_LIGHTNING_PORT: ${APP_CORE_LIGHTNING_PORT} APP_CORE_LIGHTNING_BITCOIN_NETWORK: ${APP_CORE_LIGHTNING_BITCOIN_NETWORK} APP_CORE_LIGHTNING_DAEMON_IP: ${APP_CORE_LIGHTNING_DAEMON_IP} APP_CORE_LIGHTNING_DAEMON_GRPC_PORT: ${APP_CORE_LIGHTNING_DAEMON_GRPC_PORT} APP_CORE_LIGHTNING_WEBSOCKET_PORT: ${APP_CORE_LIGHTNING_WEBSOCKET_PORT} APP_CORE_LIGHTNING_REST_PORT: ${APP_CORE_LIGHTNING_REST_PORT} APP_CORE_LIGHTNING_REST_CERT_DIR: ${APP_REST_CERT_VOLUME_DIR} APP_CORE_LIGHTNING_REST_HIDDEN_SERVICE: http://${APP_CORE_LIGHTNING_REST_HIDDEN_SERVICE} CORE_LIGHTNING_PATH: ${CORE_LIGHTNING_PATH} COMMANDO_CONFIG: ${COMMANDO_CONFIG} APP_CONFIG_DIR: ${APP_CONFIG_DIR} APP_MODE: ${APP_MODE} DEVICE_DOMAIN_NAME: ${DEVICE_DOMAIN_NAME} LOCAL_HOST: http://${DEVICE_DOMAIN_NAME} CA_CERT: ${CORE_LIGHTNING_PATH}/bitcoin/ca.pem CLIENT_KEY: ${CORE_LIGHTNING_PATH}/bitcoin/client-key.pem CLIENT_CERT: ${CORE_LIGHTNING_PATH}/bitcoin/client.pem networks: default: ipv4_address: ${APP_CORE_LIGHTNING_IP} c-lightning-rest: image: saubyk/c-lightning-rest:0.10.5@sha256:51941e2b5e82fae87a833fbee658961ca223a40d63e3f685f55c3538764652ec restart: on-failure ports: - ${APP_CORE_LIGHTNING_REST_PORT}:${APP_CORE_LIGHTNING_REST_PORT} environment: PORT: "${APP_CORE_LIGHTNING_REST_PORT}" PROTOCOL: "http" LN_PATH: "${CORE_LIGHTNING_PATH}" volumes: - "${APP_CORE_LIGHTNING_REST_CERT_DIR}:/usr/src/app/certs" - "${APP_CORE_LIGHTNING_DATA_DIR}:${CORE_LIGHTNING_PATH}" networks: default: ipv4_address: ${APP_CORE_LIGHTNING_REST_IP} lightningd: image: elementsproject/lightningd:v24.05@sha256:fc02cfbf0921ab731d8b680db9d1f85b7dbb3b57db596c6dd400659678e5770b restart: on-failure ports: - ${APP_CORE_LIGHTNING_DAEMON_PORT}:9735 - ${APP_CORE_LIGHTNING_WEBSOCKET_PORT}:${APP_CORE_LIGHTNING_WEBSOCKET_PORT} - ${CORE_LIGHTNING_REST_PORT}:${CORE_LIGHTNING_REST_PORT} command: - --bitcoin-rpcconnect=${APP_BITCOIN_NODE_IP} - --bitcoin-rpcuser=${APP_BITCOIN_RPC_USER} - --bitcoin-rpcpassword=${APP_BITCOIN_RPC_PASS} - --bitcoin-rpcport=${APP_BITCOIN_RPC_PORT} - --lightning-dir=${CORE_LIGHTNING_PATH} - --proxy=${TOR_PROXY_IP}:${TOR_PROXY_PORT} - --bind-addr=${APP_CORE_LIGHTNING_DAEMON_IP}:9735 - --bind-addr=ws:${APP_CORE_LIGHTNING_DAEMON_IP}:${APP_CORE_LIGHTNING_WEBSOCKET_PORT} - --addr=statictor:${TOR_PROXY_IP}:29051 - --tor-service-password=${TOR_PASSWORD} - --network=${APP_CORE_LIGHTNING_BITCOIN_NETWORK} - --database-upgrade=true - --experimental-offers - --grpc-port=${APP_CORE_LIGHTNING_DAEMON_GRPC_PORT} - --clnrest-host=${APP_CORE_LIGHTNING_DAEMON_IP} - --clnrest-port=${CORE_LIGHTNING_REST_PORT} volumes: - "${APP_CORE_LIGHTNING_DATA_DIR}:${CORE_LIGHTNING_PATH}" networks: default: ipv4_address: ${APP_CORE_LIGHTNING_DAEMON_IP} tor: image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a user: "1000:1000" restart: on-failure volumes: - ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro - ${TOR_DATA_DIR}:/data environment: HOME: "/tmp"