version: '3.8' # Updated to use newer Go-based images for builds; placeholder for future dynamic tag adjustments services: tor: image: torproject/tor:latest container_name: 4nk-tor hostname: tor.4nk.local ports: - "9050:9050" - "9051:9051" volumes: - ./modules/tor/conf/tor.conf:/etc/tor/torrc:ro - ./modules/tor/data:/var/lib/tor - ./modules/tor/log:/var/log/tor networks: 4nk_network: ipv4_address: 172.20.0.10 restart: unless-stopped bitcoin: image: ruimarinho/bitcoin-core:latest container_name: 4nk-bitcoin hostname: bitcoin.4nk.local ports: - "38333:38333" - "38332:38332" - "29000:29000" volumes: - ./modules/bitcoin/data:/home/bitcoin/.bitcoin - ./modules/bitcoin/conf/bitcoin.conf:/home/bitcoin/.bitcoin/bitcoin.conf:ro - ./modules/bitcoin/logs:/home/bitcoin/.bitcoin/logs networks: 4nk_network: ipv4_address: 172.20.0.11 restart: unless-stopped depends_on: - tor blindbit: image: 4nk-node-blindbit:latest container_name: 4nk-blindbit hostname: blindbit.4nk.local ports: - "8000:8000" environment: - HOST=0.0.0.0:8000 - CHAIN=signet - SYNC_START_HEIGHT=1 - MAX_PARALLEL_TWEAK_COMPUTATIONS=4 - MAX_PARALLEL_REQUESTS=4 - TWEAKS_ONLY=0 - TWEAKS_FULL_BASIC=1 - TWEAKS_FULL_WITH_DUST_FILTER=1 - TWEAKS_CUT_THROUGH_WITH_DUST_FILTER=1 command: ["/main", "--datadir", "/blindbit"] working_dir: / volumes: - ./modules/blindbit/conf/blindbit.toml:/blindbit/blindbit.toml:ro - ./modules/blindbit/data:/blindbit - ./modules/blindbit/logs:/blindbit/logs networks: 4nk_network: ipv4_address: 172.20.0.12 restart: unless-stopped depends_on: - bitcoin healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8000"] interval: 30s timeout: 10s retries: 3 start_period: 40s sdk_storage: image: 4nk-node-sdk_storage:dev container_name: 4nk-sdk-storage hostname: sdk-storage.4nk.local ports: - "8081:8081" volumes: - ./modules/sdk_storage/conf/sdk_storage.conf:/usr/local/bin/sdk_storage.conf:ro - ./modules/sdk_storage/log:/app/logs networks: 4nk_network: ipv4_address: 172.20.0.13 restart: unless-stopped depends_on: - blindbit healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8081"] interval: 30s timeout: 10s retries: 3 start_period: 40s sdk_relay1: image: 4nk-node-sdk_relay1:dev container_name: 4nk-sdk-relay1 hostname: sdk-relay1.4nk.local ports: - "8090:8090" - "8091:8091" environment: - RELAY_RPC_USER=bitcoin - RELAY_RPC_PASSWORD=bitcoin volumes: - ./modules/sdk_relay1/conf/sdk_relay1.conf:/home/bitcoin/.conf:ro - ./modules/sdk_relay1/logs:/home/bitcoin/logs working_dir: /home/bitcoin networks: 4nk_network: ipv4_address: 172.20.0.14 restart: unless-stopped depends_on: - sdk_storage healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8091"] interval: 30s timeout: 10s retries: 3 start_period: 40s sdk_relay2: image: 4nk-node-sdk_relay2:dev container_name: 4nk-sdk-relay2 hostname: sdk-relay2.4nk.local ports: - "8092:8090" - "8093:8091" environment: - RELAY_RPC_USER=bitcoin - RELAY_RPC_PASSWORD=bitcoin volumes: - ./modules/sdk_relay2/conf/sdk_relay2.conf:/home/bitcoin/.conf:ro - ./modules/sdk_relay2/logs:/home/bitcoin/logs working_dir: /home/bitcoin networks: 4nk_network: ipv4_address: 172.20.0.15 restart: unless-stopped depends_on: - sdk_storage healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8091"] interval: 30s timeout: 10s retries: 3 start_period: 40s sdk_relay3: image: 4nk-node-sdk_relay3:dev container_name: 4nk-sdk-relay3 hostname: sdk-relay3.4nk.local ports: - "8094:8090" - "8095:8091" environment: - RELAY_RPC_USER=bitcoin - RELAY_RPC_PASSWORD=bitcoin volumes: - ./modules/sdk_relay3/conf/sdk_relay3.conf:/home/bitcoin/.conf:ro - ./modules/sdk_relay3/logs:/home/bitcoin/logs working_dir: /home/bitcoin networks: 4nk_network: ipv4_address: 172.20.0.16 restart: unless-stopped depends_on: - sdk_storage healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8091"] interval: 30s timeout: 10s retries: 3 start_period: 40s sdk_signer: image: 4nk-node-sdk_signer:dev container_name: 4nk-sdk-signer hostname: sdk-signer.4nk.local ports: - "9090:9090" volumes: - ./modules/sdk_signer/conf/sdk_signer.conf:/usr/local/bin/sdk_signer.conf:ro - ./modules/sdk_signer/data:/app/data - ./modules/sdk_signer/logs:/usr/src/app/logs networks: 4nk_network: ipv4_address: 172.20.0.17 restart: unless-stopped depends_on: - sdk_relay1 - sdk_relay2 - sdk_relay3 healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:9090"] interval: 30s timeout: 10s retries: 3 start_period: 40s ihm_client: image: 4nk-node-ihm_client:dev container_name: 4nk-ihm-client hostname: ihm-client.4nk.local ports: - "8080:80" - "3003:3003" volumes: - ./modules/ihm_client/logs:/var/log/ihm_client networks: 4nk_network: ipv4_address: 172.20.0.18 restart: unless-stopped depends_on: - sdk_signer healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost"] interval: 30s timeout: 10s retries: 3 start_period: 40s miniback-postgres: image: postgres:15 container_name: miniback-postgres hostname: miniback-postgres.4nk.local environment: - POSTGRES_USER=miniback - POSTGRES_PASSWORD=minibackpassword - POSTGRES_DB=miniback volumes: - miniback_pg_data:/var/lib/postgresql/data networks: 4nk_network: ipv4_address: 172.20.0.30 restart: unless-stopped ports: - "5432:5432" miniback: image: 4nk-node-miniback:dev container_name: miniback hostname: miniback.4nk.local env_file: - ./projects/lecoffre/lecoffre-back-mini/conf/lecoffre-back-mini_env.conf depends_on: - miniback-postgres networks: 4nk_network: ipv4_address: 172.20.0.31 restart: unless-stopped volumes: - ./projects/lecoffre/lecoffre-back-mini/logs:/logs - ./projects/lecoffre/lecoffre-back-mini/conf/lecoffre-back-mini_env.conf:/app/.env:ro coffre_front: image: lecoffre-front:dev container_name: coffre-front hostname: coffre-front.4nk.local volumes: - ./projects/lecoffre/lecoffre-front/logs:/logs networks: 4nk_network: ipv4_address: 172.20.0.32 restart: unless-stopped coffre_back_mini: image: lecoffre-back-mini:dev container_name: coffre-back-mini hostname: coffre-back-mini.4nk.local networks: 4nk_network: ipv4_address: 172.20.0.33 restart: unless-stopped nginx: image: nginx:1.25 container_name: 4nk-nginx hostname: nginx.4nk.local ports: - "80:80" volumes: - ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./conf/nginx/sites-enabled:/etc/nginx/sites-enabled:ro - ./log/nginx:/var/log/nginx networks: 4nk_network: ipv4_address: 172.20.0.40 restart: unless-stopped volumes: miniback_pg_data: networks: 4nk_network: driver: bridge ipam: config: - subnet: 172.20.0.0/16 4nk_projects_net: driver: bridge ipam: config: - subnet: 172.21.0.0/16