Zeitzone in Docker

Nachdem ich Symcon 6.4 in Docker umgezogen habe, habe ich Probleme mit der Zeitzone (bin in Europe/Athens :slight_smile: ). Env TZ=Europe/Athens ist gesetzt und wird in PHP auch mit var_dump(getenv('TZ')); korrekt zurückgeliefert. Nur Symcon bekommt das nicht mit. Im Log steht immer Detected TimeZone: Europe/Berlin und wenn ich händisch in php.ini ändere zu Europe/Athens wird das beim nächsten Start wieder überschrieben. Übersehe ich etwas?
logfile1691529038.zip (87,4 KB)

Könntest du im Container mal folgenden Befehl ausführen und erst danach Symcon im Container starten?

ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone

Ich befürchte der Container aktualisiert die /etc/localtime und /etc/timezone nicht dynamisch anhand der TZ ENV Variable.

paresy

Danke für den Tip. Nachdem ich TrueNAS Scale mit Kubernetes / k3s als Plattform nutze musste ich erst mal herausfinden, wie ich das dort realisiere. So funktioniert es jetzt:
start.sh mit folgendem Inhalt in /root erstellen und ausführbar machen:

#!/bin/bash
ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone
/usr/bin/symcon

In der „Launch Docker Image“ Konfiguration unter Container Entrypoint / Command /root/start.sh eintragen. Scheint als Workaround zu funktionieren.

Perfekt. Ich würde schauen, dass ich das auch zeitnah für die 7.0er Docker Container korrigieren, sodass der Workaround nicht mehr notwendig sein wird.

paresy

Gibt es da mittlerweile schon eine Lösung zur falschen Zeitzone?
Habe auch die 6.4 in einem Docker-Container laufen und habe als Zeitzone America/Asuncion ausgewählt. Im Webfront und der Konsole wird es aber nicht richtig dargestellt.

Bei uns ist es aber erst 23:39.

Die Uhrzeit im WebFront kommt eigentlich immer von deinem lokalen System (und nicht vom Symcon). Hat dein Rechner die korrekte Zeitzone eingestellt?

paresy

Ja, meine Synology hat die korrekte Zeit. Links im Bild die korrekte Zeit von Paraguay, rechts die Zeit im Webfront. Im Docker Container habe ich bei TZ= America/Asuncion eingestellt.

Gibt es hierzu schon eine Erkenntnis, warum das nicht funktioniert.
Dadurch stimmen auch sämtliche geloggten Variablen nicht und die Uhrzeiten in der Kerninstanz Standort stimmen natürlich auch nicht.

Wenn ich in der Docker Konsole die Befehle „env“ und „date“ eingebe, wird mir die richtige Zeitzone und die richtige Uhrzeit angezeigt. Nur IP Symcon übernimmt nicht die richtige Uhrzeit.

Das WebFront wird immer in deiner lokalen Zeit angezeigt. Die Uhrzeit ist also von deinem Rechner (und der Zeitzone von diesem) und nicht vom Symcon System.

paresy

Das stimmt aber leider nicht. Wie ich schon mal weiter oben geschrieben habe, hat der Rechner (Synology) die lokale Zeit von Paraguay. Das Webfront zeigt aber die deutsche Zeit an.

Auf welchen Rechner startest du den Browser mit dem WebFront? Dessen Zeit wird angezeigt.

Die hat nix mit der Uhrzeit vom Symcon Server zu tun.
Michael

Mit dem Browser des Windows-PC. Der hat definitiv die richtige Uhrzeit und Zeitzone (Asuncion) eingestellt.


Habe jetzt mal zum testen IPS auf meinem Windows Rechner installiert. Da passt dann alles und auch die Verwaltungskonsole hat die richtige Uhrzeit. Bei der Installation auf meiner Synology in Docker, wird die Zeitzone nicht übernommen. Auch nicht in der Konsole.

Das Bild zeigt das Webfront der Docker Installation. Rechts oben ist die falsche Webfront.Uhrzeit; rechts unten die richtige Systemzeit.

Passiert das in jedem Browser?

Ich kann dir nur anbieten, dass wir uns dies zusammen per AnyDesk ansehen.

paresy

Entschuldige für die verspätete Antwort. Ja, passiert in Firefox, Opera und Chrome.
Spielt aber mittlerweile keine Rolle mehr für mich, da ich IPS jetzt auf einen Windows PC laufen lasse.

Danke.

1 „Gefällt mir“