# ═══════════════════════════════════════════════════════════════════════════
#                       GeoSus Docker Compose
# ═══════════════════════════════════════════════════════════════════════════
# Spuštění: docker-compose up -d
# Logy:     docker-compose logs -f
# Stop:     docker-compose down
# ═══════════════════════════════════════════════════════════════════════════

version: '3.8'

services:
  geosus-server:
    build: .
    container_name: geosus-server
    restart: unless-stopped
    
    ports:
      # TCP port pro herní komunikaci
      - "7777:7777"
      # HTTP port pro Stats API
      - "8088:8088"
    
    volumes:
      # Persist herních dat (lobby, statistiky)
      - geosus-data:/app/data
      # Volitelně: vlastní konfigurace
      # - ./appsettings.json:/app/appsettings.json:ro
    
    environment:
      - DOTNET_ENVIRONMENT=Production
      - GEOSUS_TCP_PORT=7777
      - GEOSUS_HTTP_PORT=8088
      # Pro ladění můžeš povolit:
      # - Logging__LogLevel__Default=Debug
    
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8088/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    
    # Limity zdrojů (volitelné)
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 512M
        reservations:
          cpus: '0.5'
          memory: 128M

volumes:
  geosus-data:
    name: geosus-data
