Diese Adresse führte bis September 2026 eine Anwendung: Zeitnahme, Kader, Trails, Renntage. Die heißt jetzt Kurbeler, liegt unter kurbeler.de und führt den Stammtisch als eines von mehreren Teams. Was hier bleibt, ist die Adresse — und die soll niemanden ins Leere laufen lassen. Übrig sind drei vorgerenderte Seiten: Wappen, ein Satz, ein Knopf, dazu Impressum und Datenschutz. Kein Konto, keine Datenbank, kein Formular, keine Cookies, keine Schriften oder Karten von fremden Servern. Die Datenschutzerklärung ist deshalb kurz und nicht die von Kurbeler mit Streichungen — eine Erklärung, die von Konten und Benachrichtigungen spricht, wäre auf dieser Seite schlicht falsch. `adapter-static` statt `adapter-node`, ausgeliefert von nginx: Für drei Seiten ohne eine dynamische Angabe einen JavaScript-Prozess laufen zu lassen, der auf Anfragen wartet, um jedes Mal dieselbe Datei herauszugeben, wäre Beschäftigung ohne Arbeit. Von den Abhängigkeiten bleiben die zwölf, die zum Bauen nötig sind; zur Laufzeit keine einzige. Das Bild ist damit 492 kB statt elf Megabyte — zwei alte Grafiken von je 2,4 MB lagen ungenutzt in `static/`. Das Backend bleibt unangetastet. Es wird vom Wegweiser nicht benutzt, aber darin liegen die Daten des alten Deployments. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LTw6xVYgjMy9AQtfs1Gdyu
31 lines
1 KiB
Docker
31 lines
1 KiB
Docker
# Der Wegweiser als Bild: mit Bun gebaut, von nginx ausgeliefert.
|
|
#
|
|
# Kein Node, kein Bun im Betrieb. Übrig sind drei vorgerenderte HTML-Seiten,
|
|
# ein Wappen und etwas CSS — dafür einen JavaScript-Prozess laufen zu lassen,
|
|
# der auf Anfragen wartet, um jedes Mal dieselbe Datei herauszugeben, wäre
|
|
# Beschäftigung ohne Arbeit. nginx tut genau das und sonst nichts.
|
|
|
|
ARG BUN_VERSION=1.3.11
|
|
|
|
# --- Bauen ------------------------------------------------------------------
|
|
FROM oven/bun:${BUN_VERSION}-alpine AS build
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json bun.lock ./
|
|
RUN bun install --frozen-lockfile
|
|
|
|
COPY . .
|
|
RUN bun run build
|
|
|
|
# --- Ausliefern -------------------------------------------------------------
|
|
FROM nginx:1.27-alpine
|
|
|
|
# Vorkomprimierte Fassungen liegen dank `precompress` im Build daneben
|
|
# (.gz/.br). Ohne diese Zeile ignoriert nginx sie und packt jede Antwort neu.
|
|
RUN sed -i 's/^}/ gzip_static on;\n}/' /etc/nginx/nginx.conf || true
|
|
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY --from=build /app/build /usr/share/nginx/html
|
|
|
|
EXPOSE 80
|