Use file secret for Grafana InfluxDB token

Use file secret for Grafana InfluxDB token
This commit is contained in:
2026-04-30 11:27:06 +02:00
parent 209aceca0d
commit c736aadf1e
6 changed files with 18 additions and 6 deletions
+6 -1
View File
@@ -9,6 +9,7 @@ Vorbereiteter Monitoring-Stack. Noch nicht deployen, bis die Secrets und der ers
- Grafana wird ueber Traefik + `authelia@file,secure-headers@file` unter `grafana.kaleschke.info` veroeffentlicht.
- InfluxDB bleibt ohne direkten Host-Port und ohne Traefik-Route im internen Compose-Netz `grafana_influx_internal`.
- Grafana provisioning legt eine SQL-Datenquelle fuer InfluxDB 3 Core mit der Datenbank `homelab` an.
- Der Grafana-Datasource-Token liegt als Secret-Datei auf dem Host und wird beim Containerstart nur containerintern in die fuer Grafana-Provisioning noetige Environment-Variable geladen.
## Vor dem ersten Deploy
@@ -30,7 +31,11 @@ Vorbereiteter Monitoring-Stack. Noch nicht deployen, bis die Secrets und der ers
Pfad: `/mnt/user/appdata/secrets/influxdb3_admin_token.json`, Rechte `600`.
3. In Komodo fuer den Stack `GRAFANA_INFLUXDB_TOKEN` setzen. Fuer den Start kann das derselbe Token aus `influxdb3_admin_token.json` sein; sauberer ist spaeter ein eigener Read-Token fuer Grafana.
3. Grafana-Datasource-Token anlegen. Fuer den ersten Start kann der Token aus `influxdb3_admin_token.json` verwendet werden; sobald ein eingeschraenkter Read-Token existiert, diesen hier eintragen:
```bash
install -m 600 /dev/null /mnt/user/appdata/secrets/grafana_influxdb_token.txt
```
4. Nach dem ersten Start die Datenbank anlegen:
+7 -1
View File
@@ -9,12 +9,16 @@ services:
GF_SECURITY_ADMIN_PASSWORD__FILE: /run/secrets/grafana_admin_password
GF_USERS_ALLOW_SIGN_UP: "false"
GF_AUTH_ANONYMOUS_ENABLED: "false"
GRAFANA_INFLUXDB_TOKEN: ${GRAFANA_INFLUXDB_TOKEN}
entrypoint: ["/bin/sh", "-ec"]
command: >
export GRAFANA_INFLUXDB_TOKEN="$$(cat /run/secrets/grafana_influxdb_token)"
&& exec /run.sh
volumes:
- /mnt/user/appdata/grafana:/var/lib/grafana
- ./provisioning:/etc/grafana/provisioning:ro
secrets:
- grafana_admin_password
- grafana_influxdb_token
networks:
- frontend_net
- grafana_influx_internal
@@ -63,6 +67,8 @@ secrets:
file: /mnt/user/appdata/secrets/grafana_admin_password.txt
influxdb3_admin_token:
file: /mnt/user/appdata/secrets/influxdb3_admin_token.json
grafana_influxdb_token:
file: /mnt/user/appdata/secrets/grafana_influxdb_token.txt
networks:
frontend_net: