version: '3.8' include: - testnet/compose.tracing.yml services: explorer: container_name: explorer image: ghcr.io/logos-blockchain/logos-blockchain-explorer:latest depends_on: - logos-blockchain-node-0 environment: - NBE_NODE_API_HOST=logos-blockchain-node-0 - NBE_NODE_API_PORT=${NODE0_API_PORT} - NBE_BASE_PATH=/web/explorer ports: - "13800:8000/tcp" cfgsync: container_name: cfgsync image: ghcr.io/logos-blockchain/logos-blockchain:devnet volumes: - node-data:/node-data - ./testnet:/etc/logos-blockchain depends_on: - grafana environment: - ENTROPY_FILE=${ENTROPY_FILE:-/etc/logos-blockchain/entropy} ports: - "4400:4400/tcp" entrypoint: /etc/logos-blockchain/scripts/run_cfgsync_server.sh faucet: container_name: faucet image: ghcr.io/logos-blockchain/logos-blockchain:devnet volumes: - node-data:/node-data - ./testnet:/etc/logos-blockchain environment: - FAUCET_PORT=18090 - NODE_API_ADDR=http://logos_blockchain_node_0:${NODE0_API_PORT} entrypoint: /etc/logos-blockchain/scripts/run_faucet.sh logos-blockchain-node-0: container_name: logos_blockchain_node_0 image: ghcr.io/logos-blockchain/logos-blockchain:devnet volumes: - node-data:/node-data - ./testnet:/etc/logos-blockchain depends_on: - cfgsync environment: - LB_HOST_IDX=0 - CFG_HOST_IP=${PUBLIC_IP_ADDR} - CFG_NETWORK_PORT=${NODE0_NET_PORT} - CFG_BLEND_PORT=${NODE0_BLEND_PORT} - CFG_API_PORT=${NODE0_API_PORT} ports: - "3000:3000/udp" - "3400:3400/udp" - "18080:18080/tcp" entrypoint: /etc/logos-blockchain/scripts/run_node.sh logos-blockchain-node-1: container_name: logos_blockchain_node_1 image: ghcr.io/logos-blockchain/logos-blockchain:devnet volumes: - node-data:/node-data - ./testnet:/etc/logos-blockchain depends_on: - cfgsync environment: - LB_HOST_IDX=1 - CFG_HOST_IP=${PUBLIC_IP_ADDR} - CFG_NETWORK_PORT=${NODE1_NET_PORT} - CFG_BLEND_PORT=${NODE1_BLEND_PORT} - CFG_API_PORT=${NODE1_API_PORT} ports: - "3001:3001/udp" - "3401:3401/udp" - "18081:18081/tcp" entrypoint: /etc/logos-blockchain/scripts/run_node.sh logos-blockchain-node-2: container_name: logos_blockchain_node_2 image: ghcr.io/logos-blockchain/logos-blockchain:devnet volumes: - node-data:/node-data - ./testnet:/etc/logos-blockchain depends_on: - cfgsync environment: - LB_HOST_IDX=2 - CFG_HOST_IP=${PUBLIC_IP_ADDR} - CFG_NETWORK_PORT=${NODE2_NET_PORT} - CFG_BLEND_PORT=${NODE2_BLEND_PORT} - CFG_API_PORT=${NODE2_API_PORT} ports: - "3002:3002/udp" - "3402:3402/udp" - "18082:18082/tcp" entrypoint: /etc/logos-blockchain/scripts/run_node.sh logos-blockchain-node-3: container_name: logos_blockchain_node_3 image: ghcr.io/logos-blockchain/logos-blockchain:devnet volumes: - node-data:/node-data - ./testnet:/etc/logos-blockchain depends_on: - cfgsync environment: - LB_HOST_IDX=3 - CFG_HOST_IP=${PUBLIC_IP_ADDR} - CFG_NETWORK_PORT=${NODE3_NET_PORT} - CFG_BLEND_PORT=${NODE3_BLEND_PORT} - CFG_API_PORT=${NODE3_API_PORT} ports: - "3003:3003/udp" - "3403:3403/udp" - "18083:18083/tcp" entrypoint: /etc/logos-blockchain/scripts/run_node.sh nginx: container_name: nginx image: ghcr.io/logos-blockchain/logos-blockchain:devnet ports: - "13000:13000" depends_on: - cfgsync - explorer - faucet volumes: - node-data:/node-data - ./testnet/nginx-run.conf:/etc/nginx/nginx.conf:ro - ./testnet/static:/usr/share/nginx/html:ro entrypoint: [ "nginx", "-g", "daemon off;" ] # L2 Sequencer Demo Services l2-sequencer: container_name: l2_sequencer image: ghcr.io/logos-blockchain/logos-blockchain:devnet environment: - SEQUENCER_LISTEN_ADDR=0.0.0.0:8080 - SEQUENCER_NODE_ENDPOINT=http://logos-blockchain-node-0:18081 - SEQUENCER_DB_PATH=/data/sequencer.db - SEQUENCER_SIGNING_KEY_PATH=/data/sequencer.key - SEQUENCER_CHANNEL_ID=6d656d636f696e00000000000000000000000000000000000000000000000001 - SEQUENCER_INITIAL_BALANCE=1000 volumes: - l2-sequencer-data:/data entrypoint: [ "/usr/bin/logos-blockchain-demo-sequencer" ] l2-archiver: container_name: l2_archiver image: ghcr.io/logos-blockchain/logos-blockchain:devnet environment: - TESTNET_ENDPOINT=http://logos-blockchain-node-1:18081 - CHANNEL_ID=6d656d636f696e00000000000000000000000000000000000000000000000001 - TOKEN_NAME=MEM entrypoint: [ "/usr/bin/logos-blockchain-demo-archiver" ] # Node data volume is marked as external and assumes # that configuration files were placed by compose.setup.yml volumes: l2-sequencer-data: node-data: name: logos-node-data external: true