Setting up InfluxDB on Docker

Introduction

Docker is a great lightweight container system for running applications on your home server. I run it on my Synology DS918+ which stores all our backups and runs most of the services for our home network.

InfluxDB is a great lightweight time-series database that’s ideal for monitoring other value-based systems. I feed all of our home automation data, the data I scrape from our utility meters and also our network SNMP data into this system which I can then use to report on it.

Starting the Instance

First start by making a folder to store the data. I put mine in /volume1/docker/influxdb2

Next, SSH into your Synology and then run the following command:

docker run \
  --name=influxdb2 \
  --hostname=influxdb2 \
  --env="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \
  --env="GOSU_VER=1.12" \
  --env="INFLUXDB_VERSION=2.0.7" \
  --env="INFLUX_CONFIGS_PATH=/etc/influxdb2/influx-configs" \
  --env="INFLUXD_INIT_PORT=9999" \
  --env="INFLUXD_INIT_PING_ATTEMPTS=600" \
  --volume="/volume1/docker/influxdb2:/var/lib/influxdb2:rw" \
  --volume="/etc/influxdb2" \
  --volume="/var/lib/influxdb2" \
  --network=bridge -p 0.0.0.0:8086:8086 \
  --restart=always \
  --detach=true \
  -t \
  influxdb:2.0.7-alpine \
  influxd

This is pretty routine, it’ll dockload the docker image, spin it up (storing the data in /volume1/docker/influxdb2) and forwarding port 8086 to your internal network. This presumes that your synology is not accessible to the internet at large.

Now you can visit http://your.ip.address:8086 in a browser to complete the set up. It’ll show you a screen like this:

New Influx Install

I created a user called admin and set my organization to pshome. Your default bucket doesn’t matter much.

Once you are in you can explore the default configuration and use the web interface to make additional users.

Comments