services:
  server:
    build:
      context: ..
      dockerfile: solitaire_server/Dockerfile
    image: ferrous-solitaire-server:latest
    restart: unless-stopped
    ports:
      - "${SERVER_PORT:-8080}:8080"
    volumes:
      # SQLite database persisted outside the container.
      - db-data:/app/data
    environment:
      DATABASE_URL: sqlite:///app/data/sol.db
      JWT_SECRET: ${JWT_SECRET}
      SERVER_PORT: 8080
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://localhost:8080/health"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 10s

volumes:
  db-data:
