4 Commits
Author SHA1 Message Date
Jan Wagner 010c460227 fix(build): forward NEXT_PUBLIC_BUILD_HASH/DATE via compose build args
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.
2026-08-31 21:05:50 +02:00
Jan Wagner 361af1eaaf fix(standards): align container rules, deploy script, docs and tests 2026-08-31 20:32:49 +02:00
Jan Wagner 646562d473 Fix: deploy target + Traefik-Labels + Next rewrites
- 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).
2026-08-31 19:44:41 +02:00
Jan Wagner ef0f4fbc82 Initial commit: eldov.win portfolio with admin backend
Privates Portfolio von eldov (Jan Wagner). Next.js 16 / React 19 / Tailwind 4 /
SQLite. Eigenes Dark-/Terminal-Theme (Magenta+Grün-Akzente, ASCII-Boxen).

Public Routes (DE default, /en für Englisch):
- /, /ueber-mich, /projekte, /projekte/[slug], /kontakt, /impressum, /datenschutz
- Sitemap, robots, OG, JSON-LD

Admin (HMAC-Single-User, HttpOnly-Cookie):
- /admin/login, /admin/dashboard, /admin/profile, /admin/projects (CRUD)
- API: /api/admin/{login,logout,session,profile,projects,projects/[slug]}

Initial-Seed: Hermes, Casino-Bot, Polymarket-Trader, QuantMuse, Crypto-/Trade-Bot,
TS6-Bot, Freewarez-Landingpage, Minecraft-Portal, OSS-Themes, AI-Subscription-Manager,
LAMP-Link-Themes, Android. KEIN Batchmaker/W-Make (das gehört zu w-make.com).

Stack:
- better-sqlite3 mit Schema-Migration + idempotentem Seed
- HMAC-signiertes Session-Cookie mit timingSafeEqual
- Rate-Limit für /api/admin/login
- Docker + deploy-vps.sh analog w-make-com → free-warez.top
2026-08-31 19:32:17 +02:00