Docker
Betrieb als Docker-Container
Abschnitt betitelt „Betrieb als Docker-Container“Der LxLogger steht als Multi-Arch-Image (amd64 + arm64) zur Verfügung:
ghcr.io/6fdigital/lxlogger:latestVorbereitung
Abschnitt betitelt „Vorbereitung“Du benötigst:
- einen Lizenzschlüssel aus deinem Konto auf lxlogger.de (siehe Lizenzierung),
- eine Konfigurationsdatei (
lxlogger.toml) – siehe Konfigurationsdatei, - ein erreichbares InfluxDB-Ziel (v2 empfohlen).
Lege dazu auf dem Host ein Verzeichnis an, das Konfiguration, Lizenz und das persistente Datenverzeichnis aufnimmt:
mkdir -p ~/lxlogger/data# lxlogger.toml und license in ~/lxlogger ablegenContainer starten
Abschnitt betitelt „Container starten“docker run -d \ --name lxlogger \ -e LXL_MINISERVER_TIMEZONE=Europe/Berlin \ -v ~/lxlogger/lxlogger.toml:/etc/lxlogger/lxlogger.toml:ro \ -v ~/lxlogger/license:/etc/lxlogger/license:ro \ -v ~/lxlogger/data:/var/lib/lxlogger \ ghcr.io/6fdigital/lxlogger:latest upZeitzone
Abschnitt betitelt „Zeitzone“Der Miniserver speichert seine Statistiken in Ortszeit, ohne Angabe der Zeitzone.
lxlogger import liest sie in der Zeitzone aus LXL_MINISERVER_TIMEZONE bzw.
[miniserver] timezone.
Ab v1.2.1 setzt das Image LXL_MINISERVER_TIMEZONE=Europe/Berlin als Standard.
Das passt für Deutschland, Österreich und die Schweiz. Steht dein Miniserver in
einer anderen Zeitzone, überschreibe den Wert mit
-e LXL_MINISERVER_TIMEZONE=<Zone>, z. B. Europe/London (in Docker Compose unter
environment). Setze die Zeitzone im Container immer über die Umgebungsvariable.
Sie hat Vorrang vor timezone in der lxlogger.toml.
Passt die Zeitzone nicht zum Miniserver, bricht der Import ab, bevor er etwas schreibt. Mehr dazu unter Datenimport → Zeitzone.
Geheimnisse sicher übergeben
Abschnitt betitelt „Geheimnisse sicher übergeben“Übergib Passwörter und Tokens nicht als -e VAR=wert, sondern als gemountete
Dateien über die _FILE-Konvention:
docker run -d \ --name lxlogger \ -e LXL_MINISERVER_TIMEZONE=Europe/Berlin \ -v ~/lxlogger/lxlogger.toml:/etc/lxlogger/lxlogger.toml:ro \ -v ~/lxlogger/license:/etc/lxlogger/license:ro \ -v ~/lxlogger/data:/var/lib/lxlogger \ -v ~/lxlogger/secrets/influx_token:/run/secrets/influx_token:ro \ -e LXL_SINK_INFLUXDB_V2_TOKEN_FILE=/run/secrets/influx_token \ ghcr.io/6fdigital/lxlogger:latest upDie entsprechenden Werte (token, password) in der lxlogger.toml können dann
entfallen.
Beispiel mit Docker Compose
Abschnitt betitelt „Beispiel mit Docker Compose“Das folgende Beispiel startet den LxLogger zusammen mit InfluxDB v2 und Grafana:
services: influxdb: image: influxdb:2 volumes: - influxdb-data:/var/lib/influxdb2 ports: - "8086:8086"
grafana: image: grafana/grafana:latest volumes: - grafana-data:/var/lib/grafana ports: - "3000:3000"
lxlogger: image: ghcr.io/6fdigital/lxlogger:latest command: up depends_on: - influxdb environment: - LXL_MINISERVER_TIMEZONE=Europe/Berlin volumes: - ./lxlogger.toml:/etc/lxlogger/lxlogger.toml:ro - ./license:/etc/lxlogger/license:ro - lxlogger-data:/var/lib/lxlogger
volumes: influxdb-data: grafana-data: lxlogger-data:Grafana ist anschließend unter http://localhost:3000
erreichbar (Standard-Login admin/admin). Die Einrichtung der Datenquelle
beschreibt die Seite Konfiguration Grafana.