deploy-vps.sh setzt die Variablen in der Shell und ruft
'docker compose build app'. Aber docker-compose reicht ENV-Vars aus der
Shell nur dann als Build-Args durch, wenn sie explizit unter 'build.args'
in der compose.yml stehen — sonst werden sie als runtime-env interpretiert
und stehen zur Build-Zeit nicht zur Verfügung.
Fix: NEXT_PUBLIC_BUILD_HASH und NEXT_PUBLIC_BUILD_DATE unter build.args
deklarieren mit Default-Fallback ('dev', '1970-01-01'), so dass sie auch
bei manuellem 'docker build .' ohne env funktionieren.
deploy-vps.sh bleibt unverändert: NEXT_PUBLIC_BUILD_HASH=$COMMIT_HASH ... docker compose build app funktioniert jetzt durch.
Erwartetes Ergebnis: 'build <commit-hash> · <date>' im Footer aller Pages.
- deploy-vps.sh: free-warez.top → free-warez.win (eldov.win liegt auf .win,
nicht .top). Vorheriger Deploy lief auf .top ohne Traefik-Routing.
- docker-compose.yml: Traefik-Labels analog w-make-com (Router für
eldov.win + www.eldov.win, websecure entrypoint, HTTP→HTTPS-Redirect).
Service hängt am 'proxy'-Netzwerk.
- next.config.ts: Rewrites als Backup zum proxy.ts (/ → /de,
/projekte/[slug] → /de/projects/[slug]). In manchen Setups greift der
proxy.ts nicht zuverlässig für statische Routen — doppelt hält besser.
- src/app/page.tsx: Root-Route serviert DE-Inhalt direkt, damit
Healthchecks und Bots eine echte Antwort bekommen (kein endloser
Redirect).