--- services: store_event_runner: image: queryorchestration:latest command: ["./storeEventRunner"] depends_on: localstack: condition: service_healthy db: condition: service_healthy ports: - "8081:8080" expose: - 8080 environment: LOG_LEVEL: DEBUG QUEUE_URL: ${STORE_EVENT_URL} DOCUMENT_INIT_URL: ${DOCUMENT_INIT_URL} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} PGUSER: ${PGUSER} PGPASSWORD: ${PGPASSWORD} PGHOST: db PGPORT: 5432 PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true DISABLE_AUTH: true COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network doc_init_runner: image: queryorchestration:latest command: ["./docInitRunner"] depends_on: localstack: condition: service_healthy db: condition: service_healthy ports: - "8082:8080" expose: - 8080 environment: LOG_LEVEL: DEBUG QUEUE_URL: ${DOCUMENT_INIT_URL} DOCUMENT_SYNC_URL: ${DOCUMENT_SYNC_URL} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} PGUSER: ${PGUSER} PGPASSWORD: ${PGPASSWORD} PGHOST: db PGPORT: 5432 PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true DISABLE_AUTH: true COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network doc_sync_runner: image: queryorchestration:latest command: ["./docSyncRunner"] depends_on: localstack: condition: service_healthy db: condition: service_healthy ports: - "8083:8080" expose: - 8080 environment: LOG_LEVEL: DEBUG QUEUE_URL: ${DOCUMENT_SYNC_URL} DOCUMENT_CLEAN_URL: ${DOCUMENT_CLEAN_URL} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} PGUSER: ${PGUSER} PGPASSWORD: ${PGPASSWORD} PGHOST: db PGPORT: 5432 PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true DISABLE_AUTH: true COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network doc_clean_runner: image: queryorchestration:latest command: ["./docCleanRunner"] depends_on: localstack: condition: service_healthy db: condition: service_healthy ports: - "8084:8080" expose: - 8080 environment: LOG_LEVEL: DEBUG QUEUE_URL: ${DOCUMENT_CLEAN_URL} DOCUMENT_TEXT_URL: ${DOCUMENT_TEXT_URL} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} PGUSER: ${PGUSER} PGPASSWORD: ${PGPASSWORD} PGHOST: db PGPORT: 5432 PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true DISABLE_AUTH: true COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network doc_text_runner: image: queryorchestration:latest command: ["./docTextRunner"] depends_on: localstack: condition: service_healthy db: condition: service_healthy ports: - "8085:8080" expose: - 8080 environment: LOG_LEVEL: DEBUG QUEUE_URL: ${DOCUMENT_TEXT_URL} QUERY_SYNC_URL: ${QUERY_SYNC_URL} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} PGUSER: ${PGUSER} PGPASSWORD: ${PGPASSWORD} PGHOST: db PGPORT: 5432 PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true DISABLE_AUTH: true COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network query_sync_runner: image: queryorchestration:latest command: ["./querySyncRunner"] depends_on: localstack: condition: service_healthy db: condition: service_healthy ports: - "8087:8080" expose: - 8080 environment: LOG_LEVEL: DEBUG QUEUE_URL: ${QUERY_SYNC_URL} QUERY_URL: ${QUERY_URL} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} PGUSER: ${PGUSER} PGPASSWORD: ${PGPASSWORD} PGHOST: db PGPORT: 5432 PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true DISABLE_AUTH: true COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network query_runner: image: queryorchestration:latest command: ["./queryRunner"] depends_on: localstack: condition: service_healthy db: condition: service_healthy ports: - "8088:8080" expose: - 8080 environment: LOG_LEVEL: DEBUG QUEUE_URL: ${QUERY_URL} QUERY_URL: ${QUERY_URL} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} PGUSER: ${PGUSER} PGPASSWORD: ${PGPASSWORD} PGHOST: db PGPORT: 5432 PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true DISABLE_AUTH: true COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network query_api: image: queryorchestration:latest command: ["./queryAPI"] depends_on: localstack: condition: service_healthy db: condition: service_healthy ports: - "8080:8080" expose: - 8080 environment: LOG_LEVEL: DEBUG CLIENT_SYNC_URL: ${CLIENT_SYNC_URL} QUERY_VERSION_SYNC_URL: ${QUERY_VERSION_SYNC_URL} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} PGUSER: ${PGUSER} PGPASSWORD: ${PGPASSWORD} PGHOST: db PGPORT: 5432 PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true DISABLE_AUTH: true COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network client_sync_runner: image: queryorchestration:latest command: ["./clientSyncRunner"] depends_on: localstack: condition: service_healthy db: condition: service_healthy ports: - "8089:8080" expose: - 8080 environment: LOG_LEVEL: DEBUG QUEUE_URL: ${CLIENT_SYNC_URL} DOCUMENT_SYNC_URL: ${DOCUMENT_SYNC_URL} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} PGUSER: ${PGUSER} PGPASSWORD: ${PGPASSWORD} PGHOST: db PGPORT: 5432 PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true DISABLE_AUTH: true COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network query_version_sync_runner: image: queryorchestration:latest command: ["./queryVersionSyncRunner"] depends_on: localstack: condition: service_healthy db: condition: service_healthy ports: - "8090:8080" expose: - 8080 environment: LOG_LEVEL: DEBUG QUEUE_URL: ${QUERY_VERSION_SYNC_URL} CLIENT_SYNC_URL: ${CLIENT_SYNC_URL} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} PGUSER: ${PGUSER} PGPASSWORD: ${PGPASSWORD} PGHOST: db PGPORT: 5432 PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true DISABLE_AUTH: true COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network prometheus: image: prom/prometheus:latest ports: - "9091:9090" volumes: - ./prometheus.allmetrics.yaml:/etc/prometheus/prometheus.yml healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:9090/-/healthy"] interval: 30s timeout: 10s retries: 3 start_period: 30s networks: - server-network db: image: postgres:17.2-alpine3.21 ports: - 5432:5432 environment: POSTGRES_DB: ${PGDATABASE} POSTGRES_PASSWORD: ${PGPASSWORD} POSTGRES_USER: ${PGUSER} expose: - 5432 volumes: - db-data:/var/lib/postgresql/data healthcheck: test: ["CMD", "sh", "-c", "pg_isready -U ${PGUSER} && psql -U ${PGUSER} -c 'SELECT 1'"] interval: 500ms timeout: 5s retries: 50 networks: - server-network localstack: image: localstack/localstack:4.1.0 ports: - 4566:4566 environment: AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} SERVICES: "s3,sqs" SKIP_SSL_CERT_DOWNLOAD: "1" LOCALSTACK_HOST: localstack SQS_ENDPOINT_STRATEGY: "path" EAGER_SERVICE_LOADING: "1" expose: - 4566 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:4566/_localstack/health"] interval: 500ms timeout: 5s retries: 50 networks: - server-network volumes: db-data: networks: server-network: