5c7d445500
* Add a stack for Gelato watcher * Add option to create and use a state snapshot * Add commands to create and import a state checkpoint * Rename ipld-eth-server endpoint env variables * Fix default env variable Former-commit-id: 8b4b5deba88bc5008a623a3826a5d2c0d76aadb6
92 lines
3.0 KiB
YAML
92 lines
3.0 KiB
YAML
version: '3.2'
|
|
|
|
services:
|
|
# Starts the PostgreSQL database for watcher
|
|
gelato-watcher-db:
|
|
restart: unless-stopped
|
|
image: postgres:14-alpine
|
|
environment:
|
|
- POSTGRES_USER=vdbm
|
|
- POSTGRES_MULTIPLE_DATABASES=gelato-watcher,gelato-watcher-job-queue
|
|
- POSTGRES_EXTENSION=gelato-watcher-job-queue:pgcrypto
|
|
- POSTGRES_PASSWORD=password
|
|
volumes:
|
|
- ../config/postgresql/multiple-postgressql-databases.sh:/docker-entrypoint-initdb.d/multiple-postgressql-databases.sh
|
|
- gelato_watcher_db_data:/var/lib/postgresql/data
|
|
ports:
|
|
- "0.0.0.0:15432:5432"
|
|
healthcheck:
|
|
test: ["CMD", "nc", "-v", "localhost", "5432"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 15
|
|
start_period: 10s
|
|
|
|
# Starts the gelato-watcher job runner
|
|
gelato-watcher-job-runner:
|
|
image: cerc/watcher-gelato:local
|
|
restart: unless-stopped
|
|
depends_on:
|
|
gelato-watcher-db:
|
|
condition: service_healthy
|
|
env_file:
|
|
- ../config/watcher-gelato/watcher-params.env
|
|
environment:
|
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
|
CERC_IPLD_ETH_GQL: ${CERC_IPLD_ETH_GQL}
|
|
command: ["./start-job-runner.sh"]
|
|
volumes:
|
|
- ../config/watcher-gelato/watcher-config-template.toml:/app/environments/watcher-config-template.toml
|
|
- ../config/watcher-gelato/start-job-runner.sh:/app/start-job-runner.sh
|
|
ports:
|
|
- "0.0.0.0:9000:9000"
|
|
healthcheck:
|
|
test: ["CMD", "nc", "-v", "localhost", "9000"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 15
|
|
start_period: 10s
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
# Starts the gelato-watcher server
|
|
gelato-watcher-server:
|
|
image: cerc/watcher-gelato:local
|
|
restart: unless-stopped
|
|
depends_on:
|
|
gelato-watcher-db:
|
|
condition: service_healthy
|
|
gelato-watcher-job-runner:
|
|
condition: service_healthy
|
|
env_file:
|
|
- ../config/watcher-gelato/watcher-params.env
|
|
environment:
|
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
|
CERC_IPLD_ETH_RPC: ${CERC_IPLD_ETH_RPC}
|
|
CERC_IPLD_ETH_GQL: ${CERC_IPLD_ETH_GQL}
|
|
CERC_USE_STATE_SNAPSHOT: ${CERC_USE_STATE_SNAPSHOT}
|
|
CERC_SNAPSHOT_GQL_ENDPOINT: ${CERC_SNAPSHOT_GQL_ENDPOINT}
|
|
CERC_SNAPSHOT_BLOCKHASH: ${CERC_SNAPSHOT_BLOCKHASH}
|
|
command: ["./start-server.sh"]
|
|
volumes:
|
|
- ../config/watcher-gelato/watcher-config-template.toml:/app/environments/watcher-config-template.toml
|
|
- ../config/watcher-gelato/start-server.sh:/app/start-server.sh
|
|
- ../config/watcher-gelato/create-and-import-checkpoint.sh:/app/create-and-import-checkpoint.sh
|
|
- gelato_watcher_state_gql:/app/state_checkpoint
|
|
ports:
|
|
- "0.0.0.0:3008:3008"
|
|
- "0.0.0.0:9001:9001"
|
|
healthcheck:
|
|
test: ["CMD", "nc", "-v", "localhost", "3008"]
|
|
interval: 20s
|
|
timeout: 5s
|
|
retries: 15
|
|
start_period: 5s
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
volumes:
|
|
gelato_watcher_db_data:
|
|
gelato_watcher_state_gql:
|