services: frontend: build: context: frontend ports: - 8080:80 db: image: postgres:17-alpine env_file: - .env ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U admin"] interval: 10s timeout: 5s retries: 5 coordinator: build: context: backend/coordinator dockerfile: ../../Dockerfile env_file: - .env environment: - OCR_SERVICE_URL=http://ocr:5000 depends_on: db: condition: service_healthy healthcheck: test: wget --spider --no-verbose http://127.0.0.1:5000/health || exit 1 interval: 10s timeout: 5s retries: 5 ports: - 5050:5000 ocr: build: context: backend/ocr-service dockerfile: ../../Dockerfile env_file: - .env environment: - EXXETA_SERVICE_URL=http://exxeta:5000/extract - SPACY_SERVICE_URL=http://spacy:5052/extract ports: - 5051:5000 spacy: build: context: backend/spacy-service environment: - VALIDATE_SERVICE_URL=http://validate:5000/validate ports: - 5052:5052 exxeta: build: context: backend/exxetaGPT-service dockerfile: ../../Dockerfile env_file: - .env environment: - VALIDATE_SERVICE_URL=http://validate:5000/validate ports: - 5053:5000 validate: build: context: backend/validate-service dockerfile: ../../Dockerfile env_file: - .env environment: - COORDINATOR_URL=coordinator:5000 ports: - 5054:5000