Files
nomos/deployment/compose.run.yml

183 lines
5.7 KiB
YAML

version: '3.8'
include:
- ./deployment/compose.tracing.yml
services:
explorer:
container_name: explorer
image: ghcr.io/logos-blockchain/logos-blockchain-explorer:${EXPLORER_IMAGE_LABEL}
depends_on:
- logos-blockchain-node-0
volumes:
- node-data:/node-data
environment:
- NBE_NODE_API_HOST=logos-blockchain-node-0
- NBE_NODE_API_PORT=${NODE0_API_PORT}
- NBE_BASE_PATH=/web/explorer
- NBE_DATABASE_URL=sqlite:////node-data/explorer/sqlite.db
ports:
- "13800:8000/tcp"
faucet:
container_name: faucet
image: ghcr.io/logos-blockchain/logos-blockchain:${TOOLS_IMAGE_LABEL}
volumes:
- node-data:/node-data
- ./deployment:/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-node:${NODE_IMAGE_LABEL}
volumes:
- node-data:/node-data
- ./deployment:/etc/logos-blockchain
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}
- LOG_LEVEL=DEBUG
- LOG_APPENDER=rolling-max-files
- LOG_APPENDER_MAX_FILES=48
- STATE_PATH=/node-data/0/state
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-node:${NODE_IMAGE_LABEL}
volumes:
- node-data:/node-data
- ./deployment:/etc/logos-blockchain
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}
- LOG_LEVEL=DEBUG
- LOG_APPENDER=rolling-max-files
- LOG_APPENDER_MAX_FILES=48
- STATE_PATH=/node-data/1/state
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-node:${NODE_IMAGE_LABEL}
volumes:
- node-data:/node-data
- ./deployment:/etc/logos-blockchain
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}
- LOG_LEVEL=DEBUG
- LOG_APPENDER=rolling-max-files
- LOG_APPENDER_MAX_FILES=48
- STATE_PATH=/node-data/2/state
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-node:${NODE_IMAGE_LABEL}
volumes:
- node-data:/node-data
- ./deployment:/etc/logos-blockchain
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}
- LOG_LEVEL=TRACE
- LOG_APPENDER=rolling-max-files
- LOG_APPENDER_MAX_FILES=48
- STATE_PATH=/node-data/3/state
ports:
- "${NODE3_NET_PORT}:3003/udp"
- "${NODE3_BLEND_PORT}:3403/udp"
- "${NODE3_API_PORT}:18083/tcp"
entrypoint: /etc/logos-blockchain/scripts/run_node.sh
filebrowser:
container_name: filebrowser
image: filebrowser/filebrowser:v2-s6
volumes:
- ./deployment/tracing/filebrowser.json:/config/settings.json
- node-data:/srv
environment:
- FB_ADDRESS=0.0.0.0
- PUID=0
- PGID=0
restart: on-failure
nginx:
container_name: nginx
image: docker.io/library/nginx:stable-trixie-perl
ports:
- "13000:13000"
- "13001:13001"
depends_on:
- explorer
- faucet
environment:
- ENV_TITLE_STRING=${ENV_TITLE_STRING}
volumes:
- node-data:/node-data
- ./deployment/nginx/run.conf:/etc/nginx/nginx.conf
- ./deployment/nginx/static/run:/usr/share/nginx/html_template
- ./deployment/scripts/run_nginx.sh:/etc/run_nginx.sh
entrypoint: /etc/run_nginx.sh
# L2 Sequencer Demo Services
l2-sequencer:
container_name: l2_sequencer
image: ghcr.io/logos-blockchain/logos-blockchain:${TOOLS_IMAGE_LABEL}
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:${TOOLS_IMAGE_LABEL}
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