4351d08daf
frontend (nginx SPA :80, sole Traefik ingress) + server (Node :3010) + dedicated postgres:15-alpine. Native email auth (no OIDC), subdomain 'sparky'. Two DB roles (sparky superuser + sparkyapp limited, auto-created first boot), PGDATA subdir, data_key on API_ENCRYPTION_KEY + BETTER_AUTH_SECRET. Transcribed from the validated k3s manifest (homelab-manifests/workout-system). New files: templates/sparkyfitness/docker-compose.yml templates/sparkyfitness/.felhom.yml Image probes (build server, v0.17.2): server node-exec /api/health probe (node present); frontend wget --spider probe (wget+curl both present). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>