Docker Image bauen und veroeffentlichen / build-and-push (push) Waiting to run
Dockerfile (Multi-Stage, "output: standalone"), docker-compose.yml mit Caddy als einzigem nach aussen offenem Reverse-Proxy (verhindert X-Forwarded-For-Faelschung fuer das App-eigene Rate-Limiting), Gitea Actions Workflow der bei jedem Push zwei Image-Tags in die Gitea- Container-Registry baut (schlankes Laufzeit-Image + ein Migrations- Image mit Prisma-CLI), sowie rohe Kubernetes-Manifeste (Namespace, ConfigMap, Secret-Vorlage, Postgres-/MySQL-StatefulSet, Migrations-Job, App-Deployment, Ingress) fuer den Cluster-Betrieb. Siehe k8s/README.md fuer den vollstaendigen Einrichtungs-/Deployment-Ablauf.
24 lines
996 B
YAML
24 lines
996 B
YAML
# Nicht-geheime Konfiguration. Geheimnisse (Passwoerter, API-Keys) gehoeren
|
|
# in 02-secret.yaml (aus 02-secret.example.yaml kopiert), NIE hierher.
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: wabenhain-config
|
|
namespace: wabenhain
|
|
data:
|
|
# "postgresql" oder "mysql" — muss zum Service passen, den du unter
|
|
# 03-postgres.yaml/03-mysql.yaml tatsaechlich ausrollst, UND zum
|
|
# DATABASE_URL-Host in 02-secret.yaml. Ein einzelnes Image traegt beide
|
|
# Prisma-Client-Varianten, siehe src/lib/prisma.ts.
|
|
DATABASE_PROVIDER: "postgresql"
|
|
NODE_ENV: "production"
|
|
# Oeffentliche URL des Shops (fuer absolute Links in E-Mails/Sitemaps/CSP).
|
|
NEXT_PUBLIC_SITE_URL: "https://shop.example.com"
|
|
SMTP_PORT: "587"
|
|
SMTP_FROM: "Wabenhain <[email protected]>"
|
|
# Optional, siehe README-Abschnitte "Google-Rezensionen"/"CAPTCHA" — leer
|
|
# lassen, wenn nicht genutzt, die App faellt automatisch zurueck.
|
|
GOOGLE_PLACES_API_KEY: ""
|
|
GOOGLE_PLACE_ID: ""
|
|
NEXT_PUBLIC_TURNSTILE_SITE_KEY: ""
|