community italiana di domotica personale
 
Installare e configurare InfluxDB con Docker su Linux Debian (Mini PC/Intel NUC o altro)

Installare e configurare InfluxDB con Docker su Linux Debian (Mini PC/Intel NUC o altro)

SCOPI DELLA GUIDA:
  • Installare e configurare il database per serie dati temporali InfluxDB
  • Livello di difficoltàmedio/basso
CONCETTI AFFRONTATI:
  • Installazione e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
 
GUIDA DEDICATA A utenti:
Debian
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione guida: 1.3

InfluxDB - Docker

Abstract

Per diversi motivi, un utente della nostra community (e non) potrebbe trovarsi nell’esigenza di disporre di una base dati efficiente e sicura per archiviare serie storiche – anche rilevanti – di dati provenienti dalla propria domotica e altro. Un database ideale per tale scopo è InfluxDB, un progetto open source di grande successo che, nel tempo, ha ottenuto sempre più apprezzamento per la sua relativa semplicità d’uso unita alla grande versatilità.

Un utente che disponga di un host Mini PC/Intel NUC (o altri, come Raspberry Pi) può, molto facilmente, dotarsi di tale applicativo.

Scopo della presente guida è quello di installare e configurare InfluxDB istanziato presso Docker, su Linux.

N.b. La presente guida è disponibile anche per sistemi Raspberry Pi. Se invece si dispone di un’installazione Home Assistant OS o Home Assistant Supervised, la guida corretta è questa.

Si parte

Assunti

Questa guida è dedicata a chi abbia già un computer con sistema operativo Linux Debian. Per coloro che non abbiano ancora provveduto e si trovino ad avere un Mini PC/Intel NUC, magari acquistato appositamente per realizzare la propria domotica, allora questo passo della guida va smarcato seguendo prima un’altra guida, che spiega passo passo come configurare il sistema operativo Linux Debian.

Una volta terminata la configurazione di Linux Debian (inclusa la possibilità di collegarvisi tramite SSH nonché aver effettuato il perfezionamento) è possibile procedere nella presente guida.

Installare Docker

Installare Docker su Linux Debian è piuttosto semplice, esiste una procedura completamente automatica e una manuale. Entrambe le procedure sono illustrate in dettaglio in questa breve guida.

Se si ha già provveduto all’installazione di Docker, va da sé che questo passaggio possa essere saltato.

ATTENZIONE: affinché i comandi a seguire funzionino, è necessario aver aggiunto Docker al gruppo sudoers, come spiegato in guida.

Configurazione base

Prima di procedere all’istanziamento di InfluxDB, però, è necessario creare una cartella la quale conterrà la sua configurazione ed eventuali file statici. Una volta collegati via SSH al computer ospitante tramite una propria utenza (eg. “deb“), provvedere a creare la cartella:

mkdir /home/deb/influxdb/data -p

avendo cura di adeguare il comando in funzione dell’utenza in uso (nell’esempio, appunto, “deb“).

A questo punto è necessario creare il file di configurazione di InfluxDB in formato YAML all’interno della cartella prescelta per la configurazione e i dati del database appena creata. Per farlo è sufficiente eseguire un comando docker il quale estragga, da un container temporaneo creato con la corretta immagine Docker di InfluxDB, la configurazione di base per copiarla poi all’interno della cartella.

Eseguiamo quindi:

docker run --rm influxdb:2.0 influxd print-config > /home/deb/influxdb/config.yml

avendo cura di adeguare il comando in funzione dell’utenza in uso (nell’esempio, appunto, “deb“).

N.b. La configurazione che verrà copiata nella cartella è quella di base offerta dall’applicativo. Nulla vieta – e gli utenti più esperti lo faranno – di personalizzarla come meglio si creda.

Istanziare InfluxDB

Arrivati a questo punto è possibile provvedere all’instanziamento di InfluxDB, il quale viene eseguito come container Docker tramite un’istanza specifica.

In ambito Docker, l’istanziamento dell’applicazione può essere effettuato tramite esecuzione di un comando manuale (più immediato) oppure tramite una configurazione del tool di gestione Docker Compose, approccio inizialmente più ostico ma che consigliamo per tutta una serie di motivi. Entrambe le scelte sono valide, ma in prospettiva (specie in ottica di aggiornamento) imparare ad usare Docker Compose è altamente consigliato.

Provvediamo quindi all’istanziamento vero e proprio dell’applicazione, utilizzando come spiegato prima o il comando “docker run” o la più versatile configurazione Docker Compose.

ATTENZIONE: affinché i comandi a seguire funzionino, è necessario aver aggiunto Docker al gruppo sudoers, come spiegato in guida d’installazione Docker.
Vetrina - Offerte del giorno

Tramite comando “docker run”

Istanziamo dunque InfluxDB su Docker tramite il comando:

docker run --init -d -it --name influxdb -p 8086:8086 -v /home/deb/influxdb/config.yml:/etc/influxdb2/config.yaml $/home/deb/influxdb/data:/var/lib/influxdb2 --restart always influxdb:latest

avendo cura di adeguare il comando in funzione dell’utenza in uso (nell’esempio, appunto, “deb“).

Congratulazioni: InfluxDB è ora operativo.

Tramite Docker Compose

Se astutamente si sceglie di utilizzare Docker Compose, allora è semplicemente necessario aggiungere al proprio file docker-compose.yaml la seguente configurazione (sotto il bocco services):

  influxdb:
    container_name: influxdb
    image: influxdb:latest
    restart: unless-stopped
    volumes:
      - /home/deb/influxdb/config.yml:/etc/influxdb2/config.yml
      - /home/deb/influxdb/data:/var/lib/influxdb2
    ports:
      - "8086:8086"

avendo cura di adeguare il comando in funzione dell’utenza in uso (nell’esempio, appunto, “deb“).

Una volta salvato il file docker-compose.yaml, eseguire il comando:

docker compose up -d influxdb

il quale provvederà a istanziare il container.

N.b. In caso il comando “docker compose” dovesse dare errore, verificare di non aver installata la versione applicativa di Docker Compose anzichè la versione plug-in alla quale il comando sopra fa riferimento. In tal caso, adeguare il comando da “docker compose” a “docker-compose” (col trattino in mezzo).

Lanciato il comando, attendere il completamente del primo avvio.
Congratulazioni: InfluxDB è ora operativo.

Configurare InfluxDB

La configurazione di dettaglio di InfluxDB si effettua sempre dopo il primo avvio del container. Forse un po’ controintuitivo, ma tant’è (in realtà sarebbe possibile farlo anche via comando, ma per semplicità spieghiamo come segue).

L’interfaccia di InfluxDB viene esposta (di base) sulla porta 8086 del computer ospitante tale applicativo. Pertanto, è sufficiente collegarsi tramite browser all’indirizzo:

http://INDIRIZZO_IP_DEL_COMPUTER:8086

Dove ovviamente INDIRIZZO_IP_DEL_COMPUTER andrà sostituito con l’indirizzo IP del computer ospitante.

La prima schermata ci darà il benvenuto:

InfluxDB - Prima configurazione - 1

mentre la seconda ci permetterà di inserire i primi dati: quelli di accesso (username e password), quelli relativi “all’organizzazione” (personale, in questo caso) e poi relative al bucket, ovvero il primo “contenitore” nel quale verranno salvati i dati. In una seconda fase sarà possibile aggiungerne di nuovi (di credenziali d’accesso, di organizzazioni e di bucket):

InfluxDB - Prima configurazione - 2

Al termine ci viene chiesto se passare direttamente all’interfaccia (terza scelta) oppure selezionare una delle due strade (semplice, “QUICK START” o più complessa “ADVANCED) che portano direttamente alla configurazione delle fonti dati del database:

InfluxDB - Prima configurazione - 3

Scegliendo la terza scelta, si atterrerà direttamente alla pagina principare di InfluxDB:

InfluxDB - Prima configurazione - 4

Uso e integrazioni

A questo punto InfluxDB è pronto e utilizzabile al fine di gestire le proprie fonti dati.

Non è ovviamente obiettivo della presente guida illustrare i moltissimi case d’uso di InfluxDB, uno dei quali però possiamo suggerire, ovvero l’integrazione con Home Assistant per l’infasamento dei dati storici verso questa base dati.

Integrare i dati della domotica personale Home Assistant verso InfluxDB (e viceversa)

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.