services: frontend: build: context: frontend ports: - 8080:80 environment: - API_HOST=http://localhost:5050 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: 20s timeout: 10s retries: 10 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 - COORDINATOR_URL=http://coordinator:5000 ports: - 5051:5000 spacy: build: context: backend/spacy-service environment: - VALIDATE_SERVICE_URL=http://validate:5000/validate ports: - 5052:5052 volumes: - ./backend/spacy-service/spacy_training:/app/spacy_training exxeta: build: context: backend/exxetaGPT-service dockerfile: ../../Dockerfile env_file: - .env environment: - VALIDATE_SERVICE_URL=http://validate:5000/validate - COORDINATOR_URL=http://coordinator:5000 ports: - 5053:5000 validate: build: context: backend/validate-service dockerfile: ../../Dockerfile env_file: - .env environment: - COORDINATOR_URL=http://coordinator:5000 ports: - 5054:5000