version: '3.2' services: # Starts the PostgreSQL database for watchers watcher-db: restart: unless-stopped image: postgres:14-alpine environment: - POSTGRES_USER=vdbm - POSTGRES_MULTIPLE_DATABASES=azimuth-watcher,azimuth-watcher-job-queue,censures-watcher,censures-watcher-job-queue,claims-watcher,claims-watcher-job-queue,conditional-star-release-watcher,conditional-star-release-watcher-job-queue,delegated-sending-watcher,delegated-sending-watcher-job-queue,ecliptic-watcher,ecliptic-watcher-job-queue,linear-star-release-watcher,linear-star-release-watcher-job-queue,polls-watcher,polls-watcher-job-queue - POSTGRES_EXTENSION=azimuth-watcher-job-queue:pgcrypto,censures-watcher-job-queue:pgcrypto,claims-watcher-job-queue:pgcrypto,conditional-star-release-watcher-job-queue:pgcrypto,delegated-sending-watcher-job-queue:pgcrypto,ecliptic-watcher-job-queue:pgcrypto,linear-star-release-watcher-job-queue:pgcrypto,polls-watcher-job-queue:pgcrypto, - POSTGRES_PASSWORD=password command: ["postgres", "-c", "max_connections=200"] volumes: - ../config/postgresql/multiple-postgressql-databases.sh:/docker-entrypoint-initdb.d/multiple-postgressql-databases.sh - watcher_db_data:/var/lib/postgresql/data ports: - "0.0.0.0:15432:5432" healthcheck: test: ["CMD", "nc", "-v", "localhost", "5432"] interval: 20s timeout: 5s retries: 15 start_period: 10s # Starts the azimuth-watcher job runner azimuth-watcher-job-runner: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} CERC_HISTORICAL_BLOCK_RANGE: 500 CONTRACT_ADDRESS: 0x223c067F8CF28ae173EE5CafEa60cA44C335fecB CONTRACT_NAME: Azimuth STARTING_BLOCK: 6784880 working_dir: /app/packages/azimuth-watcher command: "./start-job-runner.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/azimuth-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/azimuth-watcher/merge-toml.js - ../config/watcher-azimuth/start-job-runner.sh:/app/packages/azimuth-watcher/start-job-runner.sh ports: - "9000" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "9000"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the azimuth-watcher server azimuth-watcher-server: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy azimuth-watcher-job-runner: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} working_dir: /app/packages/azimuth-watcher command: "./start-server.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/azimuth-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/azimuth-watcher/merge-toml.js - ../config/watcher-azimuth/start-server.sh:/app/packages/azimuth-watcher/start-server.sh - azimuth_watcher_gql_logs_data:/app/packages/azimuth-watcher/gql-logs ports: - "3001" - "9001" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "3001"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the censures-watcher job runner censures-watcher-job-runner: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} CONTRACT_ADDRESS: 0x325f68d32BdEe6Ed86E7235ff2480e2A433D6189 CONTRACT_NAME: Censures STARTING_BLOCK: 6784954 working_dir: /app/packages/censures-watcher command: "./start-job-runner.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/censures-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/censures-watcher/merge-toml.js - ../config/watcher-azimuth/start-job-runner.sh:/app/packages/censures-watcher/start-job-runner.sh ports: - "9002" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "9002"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the censures-watcher server censures-watcher-server: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy censures-watcher-job-runner: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} working_dir: /app/packages/censures-watcher command: "./start-server.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/censures-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/censures-watcher/merge-toml.js - ../config/watcher-azimuth/start-server.sh:/app/packages/censures-watcher/start-server.sh - censures_watcher_gql_logs_data:/app/packages/censures-watcher/gql-logs ports: - "3002" - "9003" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "3002"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the claims-watcher job runner claims-watcher-job-runner: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} CONTRACT_ADDRESS: 0xe7e7f69b34D7d9Bd8d61Fb22C33b22708947971A CONTRACT_NAME: Claims STARTING_BLOCK: 6784941 working_dir: /app/packages/claims-watcher command: "./start-job-runner.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/claims-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/claims-watcher/merge-toml.js - ../config/watcher-azimuth/start-job-runner.sh:/app/packages/claims-watcher/start-job-runner.sh ports: - "9004" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "9004"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the claims-watcher server claims-watcher-server: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy claims-watcher-job-runner: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} working_dir: /app/packages/claims-watcher command: "./start-server.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/claims-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/claims-watcher/merge-toml.js - ../config/watcher-azimuth/start-server.sh:/app/packages/claims-watcher/start-server.sh - claims_watcher_gql_logs_data:/app/packages/claims-watcher/gql-logs ports: - "3003" - "9005" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "3003"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the conditional-star-release-watcher job runner conditional-star-release-watcher-job-runner: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} CONTRACT_ADDRESS: 0x8C241098C3D3498Fe1261421633FD57986D74AeA CONTRACT_NAME: ConditionalStarRelease STARTING_BLOCK: 6828004 working_dir: /app/packages/conditional-star-release-watcher command: "./start-job-runner.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/conditional-star-release-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/conditional-star-release-watcher/merge-toml.js - ../config/watcher-azimuth/start-job-runner.sh:/app/packages/conditional-star-release-watcher/start-job-runner.sh ports: - "9006" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "9006"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the conditional-star-release-watcher server conditional-star-release-watcher-server: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy conditional-star-release-watcher-job-runner: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} working_dir: /app/packages/conditional-star-release-watcher command: "./start-server.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/conditional-star-release-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/conditional-star-release-watcher/merge-toml.js - ../config/watcher-azimuth/start-server.sh:/app/packages/conditional-star-release-watcher/start-server.sh - conditional_star_release_watcher_gql_logs_data:/app/packages/conditional-star-release-watcher/gql-logs ports: - "3004" - "9007" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "3004"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the delegated-sending-watcher job runner delegated-sending-watcher-job-runner: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} CONTRACT_ADDRESS: 0xf6b461fE1aD4bd2ce25B23Fe0aff2ac19B3dFA76 CONTRACT_NAME: DelegatedSending STARTING_BLOCK: 6784956 working_dir: /app/packages/delegated-sending-watcher command: "./start-job-runner.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/delegated-sending-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/delegated-sending-watcher/merge-toml.js - ../config/watcher-azimuth/start-job-runner.sh:/app/packages/delegated-sending-watcher/start-job-runner.sh ports: - "9008" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "9008"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the delegated-sending-watcher server delegated-sending-watcher-server: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy delegated-sending-watcher-job-runner: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} working_dir: /app/packages/delegated-sending-watcher command: "./start-server.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/delegated-sending-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/delegated-sending-watcher/merge-toml.js - ../config/watcher-azimuth/start-server.sh:/app/packages/delegated-sending-watcher/start-server.sh - delegated_sending_watcher_gql_logs_data:/app/packages/delegated-sending-watcher/gql-logs ports: - "3005" - "9009" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "3005"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the ecliptic-watcher job runner ecliptic-watcher-job-runner: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} CONTRACT_ADDRESS: 0x33EeCbf908478C10614626A9D304bfe18B78DD73 CONTRACT_NAME: Ecliptic STARTING_BLOCK: 13692129 working_dir: /app/packages/ecliptic-watcher command: "./start-job-runner.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/ecliptic-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/ecliptic-watcher/merge-toml.js - ../config/watcher-azimuth/start-job-runner.sh:/app/packages/ecliptic-watcher/start-job-runner.sh ports: - "9010" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "9010"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the ecliptic-watcher server ecliptic-watcher-server: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy ecliptic-watcher-job-runner: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} working_dir: /app/packages/ecliptic-watcher command: "./start-server.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/ecliptic-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/ecliptic-watcher/merge-toml.js - ../config/watcher-azimuth/start-server.sh:/app/packages/ecliptic-watcher/start-server.sh - ecliptic_watcher_gql_logs_data:/app/packages/ecliptic-watcher/gql-logs ports: - "3006" - "9011" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "3006"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the linear-star-release-watcher job runner linear-star-release-watcher-job-runner: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} CONTRACT_ADDRESS: 0x86cd9cd0992F04231751E3761De45cEceA5d1801 CONTRACT_NAME: LinearStarRelease STARTING_BLOCK: 6784943 working_dir: /app/packages/linear-star-release-watcher command: "./start-job-runner.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/linear-star-release-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/linear-star-release-watcher/merge-toml.js - ../config/watcher-azimuth/start-job-runner.sh:/app/packages/linear-star-release-watcher/start-job-runner.sh ports: - "9012" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "9012"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the linear-star-release-watcher server linear-star-release-watcher-server: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy linear-star-release-watcher-job-runner: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} working_dir: /app/packages/linear-star-release-watcher command: "./start-server.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/linear-star-release-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/linear-star-release-watcher/merge-toml.js - ../config/watcher-azimuth/start-server.sh:/app/packages/linear-star-release-watcher/start-server.sh - linear_star_release_watcher_gql_logs_data:/app/packages/linear-star-release-watcher/gql-logs ports: - "3007" - "9013" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "3007"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the polls-watcher job runner polls-watcher-job-runner: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} CONTRACT_ADDRESS: 0x7fEcaB617c868Bb5996d99D95200D2Fa708218e4 CONTRACT_NAME: Polls STARTING_BLOCK: 6784912 working_dir: /app/packages/polls-watcher command: "./start-job-runner.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/polls-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/polls-watcher/merge-toml.js - ../config/watcher-azimuth/start-job-runner.sh:/app/packages/polls-watcher/start-job-runner.sh ports: - "9014" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "9014"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the polls-watcher server polls-watcher-server: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: watcher-db: condition: service_healthy polls-watcher-job-runner: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} CERC_ETH_RPC_ENDPOINTS: ${CERC_ETH_RPC_ENDPOINTS} CERC_IPLD_ETH_GQL_ENDPOINT: ${CERC_IPLD_ETH_GQL_ENDPOINT} working_dir: /app/packages/polls-watcher command: "./start-server.sh" volumes: - ../config/watcher-azimuth/watcher-config-template.toml:/app/packages/polls-watcher/environments/watcher-config-template.toml - ../config/watcher-azimuth/merge-toml.js:/app/packages/polls-watcher/merge-toml.js - ../config/watcher-azimuth/start-server.sh:/app/packages/polls-watcher/start-server.sh - polls_watcher_gql_logs_data:/app/packages/polls-watcher/gql-logs ports: - "3008" - "9015" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "3008"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" # Starts the gateway-server for proxying queries gateway-server: image: cerc/watcher-azimuth:local restart: unless-stopped depends_on: azimuth-watcher-server: condition: service_healthy censures-watcher-server: condition: service_healthy claims-watcher-server: condition: service_healthy conditional-star-release-watcher-server: condition: service_healthy delegated-sending-watcher-server: condition: service_healthy ecliptic-watcher-server: condition: service_healthy linear-star-release-watcher-server: condition: service_healthy polls-watcher-server: condition: service_healthy environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} working_dir: /app/packages/gateway-server command: "yarn server" volumes: - ../config/watcher-azimuth/gateway-watchers.json:/app/packages/gateway-server/dist/watchers.json ports: - "0.0.0.0:4000:4000" healthcheck: test: ["CMD", "nc", "-vz", "127.0.0.1", "4000"] interval: 20s timeout: 5s retries: 15 start_period: 5s extra_hosts: - "host.docker.internal:host-gateway" volumes: watcher_db_data: azimuth_watcher_gql_logs_data: censures_watcher_gql_logs_data: claims_watcher_gql_logs_data: conditional_star_release_watcher_gql_logs_data: delegated_sending_watcher_gql_logs_data: ecliptic_watcher_gql_logs_data: linear_star_release_watcher_gql_logs_data: polls_watcher_gql_logs_data: