pse2_ff/project/docker-compose.yml

111 lines
2.8 KiB
YAML

services:
frontend:
build:
context: frontend
environment:
- API_HOST=http://ec2-18-193-8-169.eu-central-1.compute.amazonaws.com/ff-api
labels:
- "traefik.enable=true"
- "traefik.http.routers.ff-frontend.rule=PathPrefix(`/ff`)"
- "traefik.http.routers.ff-frontend.entrypoints=web"
- "traefik.http.services.ff-frontend.loadbalancer.server.port=80"
- "traefik.http.middlewares.ff-frontend-stripprefix.stripprefix.prefixes=/ff"
- "traefik.http.routers.ff-frontend.middlewares=ff-frontend-stripprefix"
networks:
- proxy
- app-network
db:
image: postgres:17-alpine
env_file:
- .env
healthcheck:
test: ["CMD-SHELL", "pg_isready -U admin"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- db_data:/var/lib/postgresql/data
networks:
- app-network
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
labels:
- "traefik.enable=true"
- "traefik.http.routers.ff-api.rule=PathPrefix(`/ff-api`)"
- "traefik.http.routers.ff-api.entrypoints=web"
- "traefik.http.services.ff-api.loadbalancer.server.port=5000"
- "traefik.http.middlewares.ff-api-stripprefix.stripprefix.prefixes=/ff-api"
- "traefik.http.routers.ff-api.middlewares=ff-api-stripprefix"
networks:
- proxy
- app-network
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
networks:
- app-network
spacy:
build:
context: backend/spacy-service
environment:
- VALIDATE_SERVICE_URL=http://validate:5000/validate
volumes:
- ./backend/spacy-service/spacy_training:/app/spacy_training
networks:
- app-network
exxeta:
build:
context: backend/exxetaGPT-service
dockerfile: ../../Dockerfile
env_file:
- .env
environment:
- VALIDATE_SERVICE_URL=http://validate:5000/validate
- COORDINATOR_URL=http://coordinator:5000
networks:
- app-network
validate:
build:
context: backend/validate-service
env_file:
- .env
environment:
- COORDINATOR_URL=http://coordinator:5000
networks:
- app-network
networks:
proxy:
external: true
app-network:
driver: bridge
volumes:
db_data: