InfluxDB 2 Docker Installation

Aus Laub-Home Wiki

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.

Quellen