services:
  gitea-assistant:
    image: ghcr.io/${GITHUB_REPOSITORY_OWNER:-jeffusion}/gitea-ai-assistant:${VERSION:-latest}

    build:
      context: .
      dockerfile: Dockerfile

    container_name: gitea-assistant
    ports:
      - "5174:5174"
    volumes:
      - assistant_data:/app/data
    env_file:
      - .env
    depends_on:
      qdrant:
        condition: service_healthy
    restart: unless-stopped

    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:5174/api/health"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 5s

    deploy:
      resources:
        limits:
          memory: 512M

    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

  qdrant:
    image: qdrant/qdrant:latest
    container_name: qdrant
    ports:
      - "6333:6333"
      - "6334:6334"
    volumes:
      - qdrant_data:/qdrant/storage
    restart: unless-stopped

    healthcheck:
      test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:6333/healthz"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 5s

    deploy:
      resources:
        limits:
          memory: 1G

volumes:
  qdrant_data:
    driver: local
  assistant_data:
    driver: local
