From bb827f197dabfa0c84043c098f38007fe98df1a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20X=2E=20F=C3=BCrst?= Date: Sun, 28 Jun 2026 17:13:06 +0200 Subject: [PATCH] Fix: Container-Zeitzone Europe/Berlin (Januar fehlte, Ladetage nicht markiert) Ursache: Container lief in UTC, waehrend die Flux-Aggregation Europe/Berlin nutzt. Dadurch lagen die in JS (Lokalzeit) berechneten Monats-/Tagesgrenzen eine Stunde neben den Flux-Balken: - Januar-Balken (Berlin = 31.12. 23:00 UTC) lag vor 'start' (UTC) und wurde weggefiltert. - Ladetag-Zeitstempel (UTC-Mitternacht) passten nicht auf die Verbrauchsbalken (Berliner Mitternacht) -> keine Markierung. Fix: tzdata ins Image + TZ=Europe/Berlin (Dockerfile und compose). Damit stimmt die JS-Lokalzeit mit der Flux-Location ueberein. Verifiziert: im Container ergibt new Date(2026,0,1) den Berliner Monatsanfang. Co-Authored-By: Claude Opus 4.8 (1M context) --- Dockerfile | 5 +++++ docker-compose.prod.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/Dockerfile b/Dockerfile index 397b505..2291022 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,6 +33,11 @@ WORKDIR /app ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 +# Zeitzone Europe/Berlin: JS-Lokalzeit muss mit der Flux-Aggregation (Berlin) +# uebereinstimmen, sonst werden Tages-/Monatsgrenzen falsch zugeordnet. +RUN apk add --no-cache tzdata +ENV TZ=Europe/Berlin + RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 nextjs diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 6dae8ba..a31b6fa 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -10,6 +10,8 @@ services: - "${STROM_PORT:-3000}:3000" environment: - NODE_ENV=production + # Zeitzone (muss zur Flux-Aggregation Europe/Berlin passen) + - TZ=Europe/Berlin # InfluxDB im smarthome-Netz - INFLUX_URL=http://influxdb:8086 - INFLUX_TOKEN=${INFLUX_TOKEN}