InfluxDb en Portainer
InfluxDb es una base de datos open source desarrollada para alojar series temporales de datos de medición. Es por ello la base de datos ideal en el mundo IOT, pues nos va a permitir guardar nuestras mediciones de consumos energéticos muy fácilmente.
En el mercado existen medidores de consumo que se integran con InfluxDb y permiten almacenar directamente las mediciones. Pero si nuestro medidor no dispone de dicha integración o queremos un mayor control, podemos obtener las mediciones y almacenarlas desde Node-red.
Una vez almacenadas en InfluxDb las mediciones que más nos interesen, podremos visualizar las mediciones en forma de gráficos con Grafana, pero esto lo veremos en otra entrada.
¿Porque Instalar InfluxDb en un contenedor?
Vamos a instalar InfluxDb mediante el procedimiento habitual, que es añadir un contenedor en Portainer, de esta forma si alguna aplicación sobrecarga, corrompe la instalación o crea un comportamiento no esperado no repercutirá en el resto de contenedores, por lo que Home Assitant, Mosquitto, Zigbee2mqtt,,, etc seguirán funcionando perfectamente.
Instalar InfluxDb en Portainer
Para instalar InfluxDb nos dirigimos en Portainer a la sección de Stacks y creamos un nuevo stack de nombre “influxdb” y pegamos el siguiente código:
version: '3.8'
services:
influxdb:
container_name: influxdb
image: influxdb:1.8.10
ports:
- "8086:8086"
volumes:
- /docker/influxdb/data:/var/lib/influxdb
restart: always
environment:
- TZ=Europe/Madrid
Quedando como en la siguiente imagen:

Presionar en “Deploy the stack”
Portainer descarga la última imagen de InfluxDb y crea el contenedor automáticamente.
Crear una Base de Datos en InfluxDb
Accedemos al contenedor que hemos creado en el paso anterior en Portainer y pulsamos en “Console”

Y pulsamos en “Connect”

Se abre una consola que nos permite ejecutar comando dentro del contenedor de Influxdb, ahora lanzamos el siguiente comando para acceder al cliente de línea de comandos de influxDb:
influx

Ahora creamos la base de datos
create database ha;
create user "userha" with password '12345';
grant all on "ha" to "userha";
Por ultimo podemos comprobar que la base de datos “ha” se ha creado con el commando
show databases;
