Konfigurieren von InfluxDB
InfluxDB wird üblicherweise in die Gesamtkonfiguration von SOLECTRUS integriert, d.h. die bestehenden Dateien compose.yaml
und .env
sind zu erweitern.
compose.yaml
services:
influxdb:
image: influxdb:2.7-alpine
volumes:
- ${INFLUX_VOLUME_PATH}:/var/lib/influxdb2
environment:
- TZ
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_ORG=${INFLUX_ORG}
- DOCKER_INFLUXDB_INIT_USERNAME=${INFLUX_USERNAME}
- DOCKER_INFLUXDB_INIT_PASSWORD=${INFLUX_PASSWORD}
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=${INFLUX_ADMIN_TOKEN}
- DOCKER_INFLUXDB_INIT_BUCKET=${INFLUX_BUCKET}
command: influxd run --bolt-path /var/lib/influxdb2/influxd.bolt --engine-path /var/lib/influxdb2/engine --store disk
restart: unless-stopped
healthcheck:
test:
- CMD
- influx
- ping
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
logging:
options:
max-size: 10m
max-file: '3'
labels:
- com.centurylinklabs.watchtower.scope=solectrus
watchtower:
# ...
Einige Variablen (wie z.B. DOCKER_INFLUXDB_INIT_USERNAME
) werden anders lautenden Umgebungsvariablen entnommen (wie z.B. INFLUX_USERNAME
). Dies ermöglicht eine Nutzung von Variablen für verschiedene Container und vermeidet Redundanzen.
Umgebungsvariablen
TZ
Zeitzone gemäß Liste
DOCKER_INFLUXDB_INIT_ORG
Organisation, mit der die Benutzer und Daten in InfluxDB gruppiert werden. Für die Nutzung von SOLECTRUS ist die Organisation sinnvollerweise solectrus
zu nennen, weitere Organisationen werden nicht benötigt.
DOCKER_INFLUXDB_INIT_USERNAME
Gewünschter Benutzername für den Administrator-Zugriff (per Login) auf InfluxDB. Der Administrator wird beim ersten Start von InfluxDB angelegt.
DOCKER_INFLUXDB_INIT_PASSWORD
Gewünschtes Passwort für den Administrator-Zugriff (per Login) auf InfluxDB. Der Administrator wird beim ersten Start von InfluxDB angelegt.
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN
Token für den Administrator-Zugriff auf InfluxDB, das für die Authentifizierung (per API) verwendet wird und Zugriff auf alles gewährt. Das Token wird beim ersten Start von InfluxDB angelegt.
DOCKER_INFLUXDB_INIT_BUCKET
Anzulegender Bucket für die Aufnahme der Messwerte. Das ist die Datenbank, in der die Messwerte gespeichert werden. Der Bucket wird beim ersten Start von InfluxDB angelegt. SOLECTRUS verwendet nur einen Bucket, dieser wird daher sinnvollerweise solectrus
benannt.
INFLUX_VOLUME_PATH
Pfad, in dem die Datenbank gespeichert wird. Dieser Pfad wird als Volume in den Container gemountet. Der Pfad sollte auf einem Datenträger mit ausreichend Speicherplatz liegen.
Wenn am angegebenen Pfad bereits eine Datenbank existiert, wird diese verwendet. Andernfalls wird eine neue Datenbank angelegt. Dies ist normalerweise nur beim ersten Start des Containers der Fall.
Beispielhafte .env
TZ=Europe/Berlin
INFLUX_ORG=solectrus
INFLUX_USERNAME=admin
INFLUX_PASSWORD=ExAmPl3PA55W0rD
INFLUX_ADMIN_TOKEN=my-super-secret-admin-token
INFLUX_BUCKET=solectrus
INFLUX_VOLUME_PATH=/somewhere/solectrus/influxdb