--- 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: ${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} BUCKET: ${BUCKET_IN} 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: ${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: ${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: ${DISABLE_AUTH:-true} COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" BUCKET: ${BUCKET_IN} 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: ${DISABLE_AUTH:-true} COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" BUCKET: ${BUCKET_IN} 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: ${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: ${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:debug command: ["/dlv", "exec", "./queryAPI", "--listen=:2345", "--headless", "--api-version=2", "--accept-multiclient", "--continue"] depends_on: localstack: condition: service_healthy db: condition: service_healthy permit_pdp: condition: service_healthy ports: - "8080:8080" - "2345:2345" expose: - 8080 - 2345 env_file: - path: permit.env required: false environment: LOG_LEVEL: DEBUG DEBUG: true 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: ${DISABLE_AUTH:-true} NO_JWT_VALIDATION: ${NO_JWT_VALIDATION:-false} COGNITO_USER_POOL_ID: ${COGNITO_USER_POOL_ID} COGNITO_CLIENT_SECRET: ${COGNITO_CLIENT_SECRET} COGNITO_DOMAIN: ${COGNITO_DOMAIN} COGNITO_CLIENT_ID: ${COGNITO_CLIENT_ID} COGNITO_REGION: ${COGNITO_REGION} PERMIT_IO_PDP_URL: http://permit_pdp:7000 PERMIT_IO_TENANT: ${PERMIT_IO_TENANT} LOCAL_DEV_CLIENT_ID: ${LOCAL_DEV_CLIENT_ID} LOCAL_DEV_CLIENT_NAME: ${LOCAL_DEV_CLIENT_NAME} LOCAL_DEV_EULA_VERSION: ${LOCAL_DEV_EULA_VERSION} LOCAL_DEV_EULA_TITLE: ${LOCAL_DEV_EULA_TITLE} LOCAL_DEV_EULA_AUTO_ACCEPT_SUBJECT: ${LOCAL_DEV_EULA_AUTO_ACCEPT_SUBJECT} LOCAL_DEV_EULA_AUTO_ACCEPT_EMAIL: ${LOCAL_DEV_EULA_AUTO_ACCEPT_EMAIL} BUCKET: ${BUCKET_IN} CHATBOT_SERVICE_URL: ${CHATBOT_SERVICE_URL} CHATBOT_API_KEY: ${CHATBOT_API_KEY} CHATBOT_REQUEST_TIMEOUT_SECONDS: ${CHATBOT_REQUEST_TIMEOUT_SECONDS} CHATBOT_MAX_TURN_CHARS: ${CHATBOT_MAX_TURN_CHARS} CHATBOT_RECENT_TURNS: ${CHATBOT_RECENT_TURNS} 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: ${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: ${DISABLE_AUTH:-true} COGNITO_USER_POOL_ID: "fillin" COGNITO_CLIENT_SECRET: "fillin" COGNITO_DOMAIN: "fillin" COGNITO_CLIENT_ID: "fillin" networks: - server-network permit_pdp: image: permitio/pdp-v2:0.9.9 ports: - "7766:7000" expose: - 7000 env_file: - path: permit.env required: false healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:7000/health"] interval: 5s timeout: 5s retries: 10 start_period: 10s 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: