stammtisch-hersbruck/frontend/Dockerfile
Daniel Michelberger 53a8bfe29b fix: nginx startete nicht — gzip_static stand im falschen Block
Der Container ging sofort wieder aus, „exited:unhealthy", und im Deploy-Log
stand nichts daneben: Gebaut, gestartet, fertig. Ausgegangen ist er, weil
nginx seine Konfiguration nicht las.

Schuld war ein `sed` im Dockerfile, das `gzip_static on;` vor die erste Zeile
schieben sollte, die mit `}` beginnt. Das ist in der nginx.conf des Bildes
aber nicht das Ende von `http { … }`, sondern das von `events { … }` — und
dort ist die Anweisung ungültig.

Sie steht jetzt im eigenen Server-Block, wo sie hingehört, und das `sed` ist
weg. Eine Zeile, die eine fremde Konfigurationsdatei mit einem Muster
umschreibt, ist ohnehin eine Wette darauf, wie die Datei innen aussieht.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LTw6xVYgjMy9AQtfs1Gdyu
2026-09-11 16:35:40 +02:00

27 lines
840 B
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
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build /app/build /usr/share/nginx/html
EXPOSE 80