version: '3.8' # Updated to use newer Go-based images for builds; placeholder for future dynamic tag adjustments services: tor: image: dperson/torproxy:latest container_name: 4nk-tor hostname: tor.local ports: - "9050:9050" - "9051:9051" networks: 4nk_network: ipv4_address: 172.20.0.10 restart: unless-stopped bitcoin: image: ruimarinho/bitcoin-core:latest container_name: 4nk-bitcoin hostname: bitcoin.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 - ./modules/bitcoin/logs:/home/bitcoin/.bitcoin/logs networks: 4nk_network: ipv4_address: 172.20.0.11 restart: unless-stopped depends_on: - tor blindbit-oracle: image: git.4nkweb.com/4nk/blindbit-oracle:dev container_name: 4nk-blindbit-oracle hostname: blindbit-oracle.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-oracle" ] working_dir: / volumes: - ./modules/blindbit-oracle/conf/blindbit.toml:/blindbit-oracle/blindbit.toml:ro - ./modules/blindbit-oracle/data:/blindbit-oracle - ./modules/blindbit-oracle/logs:/blindbit-oracle/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: git.4nkweb.com/4nk/sdk_storage:dev container_name: 4nk-sdk-storage hostname: sdk-storage.local ports: - "8081:8080" 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 healthcheck: test: [ "CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8080" ] interval: 30s timeout: 10s retries: 3 start_period: 40s sdk_relay1: image: git.4nkweb.com/4nk/sdk_relay:dev container_name: 4nk-sdk-relay1 hostname: sdk-relay1.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: - blindbit-oracle healthcheck: test: [ "CMD", "curl", "-f", "http://localhost:8090/health" ] interval: 30s timeout: 10s retries: 3 start_period: 40s sdk_relay2: image: git.4nkweb.com/4nk/sdk_relay:dev container_name: 4nk-sdk-relay2 hostname: sdk-relay2.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: - blindbit-oracle healthcheck: test: [ "CMD", "curl", "-f", "http://localhost:8090/health" ] interval: 30s timeout: 10s retries: 3 start_period: 40s sdk_relay3: image: git.4nkweb.com/4nk/sdk_relay:dev container_name: 4nk-sdk-relay3 hostname: sdk-relay3.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: - blindbit-oracle healthcheck: test: [ "CMD", "curl", "-f", "http://localhost:8090/health" ] interval: 30s timeout: 10s retries: 3 start_period: 40s sdk_signer: image: git.4nkweb.com/4nk/sdk_signer:dev container_name: 4nk-sdk-signer hostname: sdk-signer.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_storage - 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: git.4nkweb.com/4nk/ihm_client:dev container_name: 4nk-ihm-client hostname: ihm-client.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_storage - sdk_relay1 - sdk_relay2 - sdk_relay3 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:16 container_name: miniback-postgres hostname: miniback-postgres.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" coffre_front: image: git.4nkweb.com/4nk/lecoffre-front:dev container_name: coffre-front hostname: coffre-front.local volumes: - ./projects/lecoffre/lecoffre-front/logs:/logs networks: 4nk_network: ipv4_address: 172.20.0.32 restart: unless-stopped depends_on: - coffre_back_mini - ihm_client - sdk_signer coffre_back_mini: image: git.4nkweb.com/4nk/lecoffre-back-mini:dev container_name: coffre-back-mini hostname: coffre-back-mini.local networks: 4nk_network: ipv4_address: 172.20.0.33 restart: unless-stopped depends_on: - miniback-postgres 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