name: byos-service-ts services: postgres: image: postgres:16-alpine environment: POSTGRES_PASSWORD: postgres ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 2s timeout: 2s retries: 15 redis: image: redis:7-alpine # AOF persistence is required so byos:known-subsolvers survives container # restarts — without it every subsolver re-fires the "new subsolver" Slack # notification after a Redis restart (see ADR-0017). command: redis-server --appendonly yes ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 2s timeout: 2s retries: 15 baseline-subsolver: build: . command: ["node", "apps/baseline-subsolver/dist/index.js"] profiles: ["baseline-subsolver"] env_file: .env.baseline-subsolver.example volumes: - ${SUBSOLVER_CONFIG_PATH:-./config.toml}:/app/config.toml:ro depends_on: postgres: condition: service_healthy binance-subsolver: build: . command: ["node", "apps/binance-subsolver/dist/index.js"] profiles: ["binance-subsolver"] env_file: .env.binance-subsolver.example fynd-subsolver: build: . command: ["node", "apps/fynd-subsolver/dist/index.js"] profiles: ["fynd-subsolver"] env_file: .env.fynd-subsolver.example volumes: - ${SUBSOLVER_CONFIG_PATH:-./config.toml}:/app/config.toml:ro depends_on: fynd: condition: service_started fynd: image: ghcr.io/propeller-heads/fynd:0.99.17@sha256:84c1f4641f6ab5988bafd37544305150dd6224f975311c4b928937e263912f14 profiles: ["fynd-subsolver"] command: ["serve", "--chain", "bsc"] environment: TYCHO_API_KEY: ${TYCHO_API_KEY:-}