# NetBird-Uptime Kuma
Questo programma serve per esporre localmente lo stato dei peer registrati su NetBird, senza bisogno di usare token di accesso, in modo che non sia necessario aggiornare il token di accesso regolarmente.
Il programma espone i dati in maniera non criptata e del tutto insicura, ma l'unica cosa che espone sono gli ID dei peer e se sono connessi alla rete mesh.
Di default partirà sulla porta 3000.
È possibile specificare una lista di hostname passandoli alla variabile d'ambiente `HOSTNAMES`, o una lista di ID passandoli alla variabile d'ambiente `HOSTIDS`.
Le due variabili **non** possono essere usate nello stesso momento.
Per inserire più di un peer nelle variabili d'ambiente, separarli con un `;`. Non inserire spazi o altri caratteri, solo i nomi/ID dei peer e `;` sono accettati.
Se vengono specificati degli hostname o degli ID non validi insieme a degli hostname o degli ID validi, quelli non validi saranno ignorati.
Se nessuna delle due variabili vengono specificate, il programma monitorerà tutti i peer registrati.
Il file di log è disponibile nella cartella di esecuzione in `./log/NetBird-UptimeKuma.log`

Il programma restituisce come codice di errore:

`1` se non viene inserito nessun token

`2` se viene inserito un token non valido

`3` se il server avvisa che è stato fornito un token non valido

## Per iniziare ad usare il programma:
1- Recarsi su https://app.netbird.io/team/users

2- Selezionare l'utente che si desidera sia responsabile del monitoraggio (deve avere privilegi elevati per poter manipolare i token)

3- Creare un token d'accesso con nome "Uptime Kuma" e durata arbitraria

4- Inserire il token nella variabile d'ambiente `BASE_TOKEN`

5- Avviare il programma con Docker

## Docker

Docker run:
`docker run -p 3000:3000 -e BASE_TOKEN=<token> -e HOSTNAMES="<hostname1>;<hostname2>" -v /var/log/NetBird-UptimeKuma:/app/log gitea.laprogrammatriceverde.crabdance.com/Verde/NetBird-UptimeKuma:latest`

Per il Docker Compose, vedere il file relativo.
