InfluxDB 2 Docker Installation
Dies ist eine Anleitung wie man eine InfluxDB Version 2 via docker-compose Projekt deployt. Version 2 kann nur auf 64bit Systemen eingesetzt werden. Eine Art von Chronograf ist bereits in der influxdb 2 integriert und bietet ein Webinterface mit dem man zum Beispiel Datenbanken (Buckets) oder API Token einrichten kann.
Docker Compose Setup
Als erstes legen wir unseren Docker Compose Projektordner an:
mkdir -p /opt/influxdb2/data/influxdb2/conf
In diesem dann unsere Projekt Konfigurationsdatei:
/opt/influxdb2/.env
# Config File for InfluxDB and Chronograf
# Docker Compose Project Name
# max length 11 characters
PROJECT_NAME=influxdb2
# InfluxDB Configuration
INFLUXDB_HTTP_PORT=8086
INFLUXDB_INIT_MODE=setup
INFLUXDB_INIT_USERNAME=myusername
INFLUXDB_INIT_PASSWORD=passwordpasswordpassword
INFLUXDB_INIT_ORG=myorg
INFLUXDB_INIT_BUCKET=mybucket
INFLUXDB_INIT_ADMIN_TOKEN=mytoken
INFLUXD_LOG_LEVEL=warn
# Timezone
TZ=Europe/Berlin
Nun unser docker-compose.yml
/opt/influxdb2/docker-compose.yml
version: '3.7'
services:
influxdb:
image: influxdb:2.7
restart: always
environment:
- DOCKER_INFLUXDB_INIT_MODE=${INFLUXDB_INIT_MODE}
- DOCKER_INFLUXDB_INIT_USERNAME=${INFLUXDB_INIT_USERNAME}
- DOCKER_INFLUXDB_INIT_PASSWORD=${INFLUXDB_INIT_PASSWORD}
- DOCKER_INFLUXDB_INIT_ORG=${INFLUXDB_INIT_ORG}
- DOCKER_INFLUXDB_INIT_BUCKET=${INFLUXDB_INIT_BUCKET}
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=${INFLUXDB_INIT_ADMIN_TOKEN}
- INFLUXD_LOG_LEVEL=${INFLUXD_LOG_LEVEL}
- TZ=${TZ}
labels:
com.centurylinklabs.watchtower.enable: "true"
volumes:
- "./data/influxdb2/conf:/etc/influxdb2"
- data_influxdb:/var/lib/influxdb2
ports:
- ${INFLUXDB_HTTP_PORT}:8086
networks:
app-nw:
aliases:
- influxdb2
volumes:
data_influxdb:
networks:
app-nw:
internal: false
driver: bridge
driver_opts:
com.docker.network.bridge.name: app-${PROJECT_NAME}
Haben wir die beiden Dateien erfolgreich angelegt und konfiguriert. Können wir das ganze deployen:
cd /opt/influxdb2
docker-compose up -d
Das Webinterface der InfluxDB ist dann unter:
- http://YOURSERVERNAME:8086
erreichbar.
Token anlegen
Möchte man nun einen Token für eine auf die InfluxDB zugreifende Anwendung wir Grafana oder openHAB einrichten, so kann man das bequem über das Webinterface machen. Hierzu einfach einloggen und unter Data --> API Tokens
einen neuen anlegen Generate API Token
:
dann auswählen auf welchen bucket (ist ähnlich der Datenbank) und mit welchen rechten er zugriff erhalten soll:
Mit Save speichert ihr den Token. Danach seht ihr ihn in der Liste. Wenn ihr ihn öffnet seht ihr den Token und könnt ihn kopieren und verwenden.