services:
  api:
    build:
      context: .
      dockerfile: backend/Dockerfile
    restart: unless-stopped
    environment:
      PORT: 4000
    volumes:
      - college-kit-data:/app/backend/data
    healthcheck:
      test: ["CMD", "node", "-e", "fetch('http://localhost:4000/health').then(r => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))"]
      interval: 10s
      timeout: 3s
      retries: 5
      start_period: 5s

  web:
    build:
      context: .
      dockerfile: Dockerfile
      args:
        EXPO_PUBLIC_API_URL: /api/v1
    restart: unless-stopped
    depends_on:
      api:
        condition: service_healthy
    ports:
      - "8080:80"

volumes:
  college-kit-data:
    name: college-kit-data
