Zum Inhalt springen

Konfiguration von HELIOS

HELIOS liest selbst nur wenige Umgebungsvariablen. Alle teilt es sich mit dem Dashboard.

Dazu kommen die Tokens für den Zugriff auf InfluxDB. Die liest HELIOS nicht, es erzeugt sie und verteilt sie an die übrigen Dienste.

Schlüssel, mit dem Rails die Sitzungs-Cookies signiert. Erzeugt wird er etwa mit openssl rand -hex 64, das ergibt 128 Zeichen. HELIOS und das Dashboard verwenden denselben Wert.

Ohne den Schlüssel startet der Container von HELIOS nicht. Ändert sich der Wert, werden alle Anmeldungen ungültig.

Beispiel
SECRET_KEY_BASE=8f14e45fceea167a5a36dedd4bea2543...

Passwort für den Zugang zu HELIOS. Dasselbe Passwort schützt die Einstellungen im Dashboard, es gibt nur eines.

Fehlt das Passwort, steht die Oberfläche von HELIOS jedem offen, der den Server erreicht. HELIOS sorgt deshalb selbst dafür, dass immer eines gesetzt ist.

Beispiel
ADMIN_PASSWORD=my-secret-password

Zeitzone gemäß Liste. Standardwert ist Europe/Berlin.

Sie bestimmt die Zeitstempel im Protokoll und die Uhrzeit, zu der die automatische Datensicherung läuft.

Beispiel
TZ=Europe/Rome

Schaltet secure-Cookies, HSTS und die Weiterleitung von HTTP auf HTTPS ein. Erlaubt sind true und false. Standardwert ist false.

Auf true gehört der Wert nur, wenn die Oberfläche hinter einem Reverse Proxy mit TLS-Zertifikat steht. Läuft sie über HTTP, kommt mit secure-Cookies keine Anmeldung zustande.

Beispiel
FORCE_SSL=true

Jeder Dienst, der auf die Messwerte in InfluxDB zugreift, braucht dafür einen API-Token. Diese drei Variablen halten die Tokens bereit, die HELIOS bei der Installation erzeugt.

Gelesen werden sie weder von HELIOS noch von InfluxDB. HELIOS gibt jedem Dienst denjenigen Token weiter, der zu seiner Aufgabe passt: Ein Kollektor darf damit nur schreiben, das Dashboard nur lesen. Beim Dienst selbst heißt die Variable dann immer INFLUX_TOKEN.

Wer die Konfiguration von Hand pflegt, legt die Tokens selbst in InfluxDB an und trägt sie hier ein.

Token für das Dashboard, das damit lesend auf die Messwerte zugreift. Es bekommt den Wert als INFLUX_TOKEN.

Der Token muss in InfluxDB existieren und den Bucket lesen dürfen. Eine Änderung wirkt beim nächsten Start des Dashboards. Passt der Token nicht, bleiben die Kurven leer.

Beispiel
INFLUX_TOKEN_READ=my-super-secret-read-token

Token für die Kollektoren, die damit Messwerte schreiben. Jeder Kollektor bekommt den Wert als INFLUX_TOKEN.

Der Token muss in InfluxDB existieren und in den Bucket schreiben dürfen. Eine Änderung wirkt beim nächsten Start der Kollektoren.

Beispiel
INFLUX_TOKEN_WRITE=my-super-secret-write-token

Token für den Power-Splitter, der Messwerte liest und seine Ergebnisse zurückschreibt. Nötig ist er nur, wenn der Power-Splitter läuft. Er bekommt den Wert als INFLUX_TOKEN.

Beispiel
INFLUX_TOKEN_READWRITE=my-super-secret-readwrite-token