services: pinpoint-golf: build: context: . dockerfile: Dockerfile args: # Pass your Google Maps API key at build time (or load from .env) VITE_GOOGLE_MAPS_API_KEY: ${VITE_GOOGLE_MAPS_API_KEY:-} container_name: pinpoint-golf-app restart: unless-stopped ports: # Map host port 3000 to app port 3000 - "3000:3000" environment: - NODE_ENV=production - PORT=3000 - JWT_SECRET=${JWT_SECRET:-pinpoint_golf_prod_secret_2026} # Google OAuth Credentials (optional) - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-} # Authentik / OIDC Configuration (optional) - AUTHENTIK_ISSUER_URL=${AUTHENTIK_ISSUER_URL:-} - AUTHENTIK_CLIENT_ID=${AUTHENTIK_CLIENT_ID:-} - AUTHENTIK_CLIENT_SECRET=${AUTHENTIK_CLIENT_SECRET:-} # GitHub OAuth Credentials (optional) - GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-} - GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-} volumes: # Persistent volume for users, scorecards, custom courses, and community stats - pinpoint_data:/app/data healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000/healthz"] interval: 30s timeout: 3s retries: 3 start_period: 5s volumes: pinpoint_data: driver: local