hidden11
Daily football lineup puzzle built with Next.js, React, TypeScript and Tailwind CSS.
Player data provenance and clue rules are documented in docs/data-sources.md.
Local development
npm install
npm run dev
Open http://localhost:3000.
Optional analytics env vars:
NEXT_PUBLIC_GA_MEASUREMENT_ID: GA4 measurement ID, e.g.G-XXXXXXXXXXNEXT_PUBLIC_CLARITY_PROJECT_ID: Microsoft Clarity project ID
Optional feedback env vars:
N8N_FEEDBACK_WEBHOOK_URL: n8n webhook URL used to receive feedback submissions
Optional sponsor env vars:
NEXT_PUBLIC_SPONSOR_ENABLED: set tofalseto hide the sponsor slotNEXT_PUBLIC_SPONSOR_NAME: sponsor name shown in the slotNEXT_PUBLIC_SPONSOR_TAGLINE: short sponsor copyNEXT_PUBLIC_SPONSOR_CTA: sponsor button textNEXT_PUBLIC_SPONSOR_URL: outbound sponsor URLNEXT_PUBLIC_SPONSOR_LABEL: small label above the sponsor name
Production build
npm run build
npm start
Docker
docker build -t hidden11:latest .
docker run --rm -p 3000:3000 hidden11:latest
CI/CD
Gitea Actions workflow:
.gitea/workflows/build-and-push.yaml- Builds on
main - Pushes:
gitea.alexandre-vazquez.cloud/alexandrev/hidden11:<git-sha>gitea.alexandre-vazquez.cloud/alexandrev/hidden11:latest
Required Gitea repository secrets:
REGISTRY_USERNAME:alexandrevREGISTRY_TOKEN: token with package/container registry permissions
Create/read tokens from pass; never commit credentials.
Kubernetes
kubectl apply -f deploy/k8s
The app is configured for:
- Namespace:
hidden11 - Ingress host:
hidden11.app - Ingress class:
public - TLS secret:
hidden11-tls
To enable analytics in Kubernetes, create a secret named hidden11-analytics in the hidden11 namespace with:
NEXT_PUBLIC_GA_MEASUREMENT_IDNEXT_PUBLIC_CLARITY_PROJECT_ID
To enable feedback submission, create a secret named hidden11-feedback in the hidden11 namespace with:
N8N_FEEDBACK_WEBHOOK_URL
To configure the sponsor slot in Kubernetes, create a secret named hidden11-sponsor in the hidden11 namespace with any of:
NEXT_PUBLIC_SPONSOR_ENABLEDNEXT_PUBLIC_SPONSOR_NAMENEXT_PUBLIC_SPONSOR_TAGLINENEXT_PUBLIC_SPONSOR_CTANEXT_PUBLIC_SPONSOR_URLNEXT_PUBLIC_SPONSOR_LABEL
ArgoCD
kubectl apply -f deploy/argocd/application.yaml
The ArgoCD Application includes ArgoCD Image Updater annotations for:
- image:
gitea.alexandre-vazquez.cloud/alexandrev/hidden11 - strategy:
digest - write-back:
argocd