Files
homelab-infra/docs/SECRETS_MAP.md
T
2026-05-06 18:50:14 +02:00

5.8 KiB

Secrets Map - Homelab

Dieses Dokument listet sensible Daten, deren Ablageorte und die vorgesehene Einbindungsart.

Grundregeln

  • Secrets liegen niemals im Git-Repository
  • Standardspeicherort ist /mnt/user/appdata/secrets/
  • dokumentierte Ausnahmen mit dienstspezifischen Pfaden sind erlaubt
  • Berechtigungen: chmod 600
  • Nutzung in Docker ueber _FILE, direkte Secret-Datei-Mounts oder Komodo Stack Environment Variables

Aktive Secrets

Service Secret Datei / Methode Status
Vaultwarden ADMIN_TOKEN /mnt/user/appdata/secrets/vaultwarden_admin_token.txt -> ADMIN_TOKEN_FILE aktiv
Traefik Cloudflare DNS API Token /mnt/user/appdata/traefik/secrets/cloudflare_dns_api_token -> Docker Secret cloudflare_dns_api_token aktiv
PostgreSQL 17 DB Password /mnt/user/appdata/secrets/postgres_password.txt -> POSTGRES_PASSWORD_FILE aktiv
Redis Passwort /mnt/user/appdata/secrets/redis_password.txt -> Datei-Mount + Startkommando in infra/redis/docker-compose.yml aktiv
Mealie DB Password /mnt/user/appdata/secrets/mealie_postgres_password.txt -> POSTGRES_PASSWORD_FILE aktiv
mealie-postgres DB Password /mnt/user/appdata/secrets/mealie_postgres_password.txt -> POSTGRES_PASSWORD_FILE aktiv
Paperless-ngx DB Password Stack ENV ${PAPERLESS_DBPASS} aktiv
Paperless-ngx Redis URL Stack ENV ${PAPERLESS_REDIS} aktiv
code-server Passwort /mnt/user/appdata/code-server/secrets/password -> PASSWORD_FILE aktiv
Immich (server) DB Password Stack ENV ${IMMICH_DB_PASSWORD} aktiv
immich-postgres DB Password /mnt/user/appdata/secrets/immich_postgres_password.txt -> POSTGRES_PASSWORD_FILE aktiv
mail-archiver DB Connection Stack ENV ${MAILARCHIVER_DB_CONNECTION} aktiv
mail-archiver Auth Password Stack ENV ${MAILARCHIVER_AUTH_PASSWORD} aktiv
Authelia JWT Secret /mnt/user/appdata/secrets/authelia_jwt_secret.txt -> AUTHELIA_JWT_SECRET_FILE aktiv
Authelia Session Secret /mnt/user/appdata/secrets/authelia_session_secret.txt -> AUTHELIA_SESSION_SECRET_FILE aktiv
Authelia Storage Encryption Key /mnt/user/appdata/secrets/authelia_storage_encryption_key.txt -> AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE aktiv
Authelia Postgres Password /mnt/user/appdata/secrets/authelia_postgres_password.txt -> AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE aktiv
Komodo Mongo Root Password /mnt/user/appdata/secrets/komodo_mongo_password.txt -> MONGO_INITDB_ROOT_PASSWORD_FILE aktiv
Komodo Core App Secrets Stack ENV ${KOMODO_SECRET_KEY}, ${KOMODO_WEBHOOK_SECRET}, ${KOMODO_JWT_SECRET}, ${KOMODO_MONGO_PASSWORD}, ${KOMODO_PERIPHERY_PASSKEY} aktiv
Homepage API Tokens / Zugangsdaten Stack ENV HOMEPAGE_VAR_* aktiv
speedtest-tracker App Key / Admin-Zugang Stack ENV ${APP_KEY}, ${ADMIN_PASSWORD} aktiv
Nextcloud Admin User /mnt/user/appdata/secrets/nextcloud_admin_user.txt -> NEXTCLOUD_ADMIN_USER_FILE neu
Nextcloud Admin Password /mnt/user/appdata/secrets/nextcloud_admin_password.txt -> NEXTCLOUD_ADMIN_PASSWORD_FILE neu
nextcloud-postgres DB Password /mnt/user/appdata/secrets/nextcloud_postgres_password.txt -> POSTGRES_PASSWORD_FILE neu
Borg UI / Borg Admin-Login, SECRET_KEY, SSH-Keys, Repo-Credentials persistent unter /mnt/user/appdata/borg-ui/data/ aktiv
Hermes Agent Provider-Keys, Bot-Tokens, API-Server-Key /mnt/user/appdata/hermes-agent/data/.env neu
Hermes Agent SSH-Runner Private Key /mnt/user/appdata/secrets/hermes_runner_id_ed25519 -> /root/.ssh/id_ed25519 neu
Grafana Admin Password /mnt/user/appdata/secrets/grafana_admin_password.txt -> GF_SECURITY_ADMIN_PASSWORD__FILE vorbereitet
InfluxDB 3 Core Admin Token JSON /mnt/user/appdata/secrets/influxdb3_admin_token.json -> Docker Secret /run/secrets/influxdb3_admin_token vorbereitet
Grafana -> InfluxDB Datasource Token /mnt/user/appdata/secrets/grafana_influxdb_token.txt -> Docker Secret /run/secrets/grafana_influxdb_token vorbereitet
Home Assistant -> InfluxDB HA InfluxDB Token /homeassistant/secrets.yaml -> influxdb3_homeassistant_token geplant

Historisch entfernte Secrets

Dienst Frueherer Secret-Pfad / Mechanismus Status
Gotify gotify_password.txt / GOTIFY_DEFAULTUSER_PASS_FILE Dienst nicht mehr aktiv
diun Stack ENV Container entfernt

Pfadstruktur

/mnt/user/appdata/secrets/
|-- authelia_jwt_secret.txt
|-- authelia_postgres_password.txt
|-- authelia_session_secret.txt
|-- authelia_storage_encryption_key.txt
|-- immich_postgres_password.txt
|-- komodo_mongo_password.txt
|-- mealie_postgres_password.txt
|-- nextcloud_admin_password.txt
|-- nextcloud_admin_user.txt
|-- nextcloud_postgres_password.txt
|-- postgres_password.txt
|-- redis_password.txt
|-- grafana_admin_password.txt
|-- grafana_influxdb_token.txt
|-- influxdb3_admin_token.json
`-- vaultwarden_admin_token.txt

Weitere dokumentierte Secret-Pfade:

  • /mnt/user/appdata/code-server/secrets/password
  • /mnt/user/appdata/secrets/hermes_runner_id_ed25519
  • /mnt/user/appdata/traefik/secrets/cloudflare_dns_api_token
  • Borg UI verwaltet Session-Secret, Admin-Login, SSH-Keys und Repo-Credentials in seiner persistenten /data-Struktur. Diese Daten liegen nicht im Git, muessen aber gesichert werden.
  • paperless-ngx ist eine bewusste Ausnahme: DB-Passwort und Redis-URL bleiben aktuell als Komodo Stack Environment Variables hinterlegt, um den stabil laufenden Produktionsstand nicht fuer eine reine Secret-Mechanik-Migration zu riskieren.

Regel

Wenn _FILE nicht unterstuetzt wird -> Stack Environment Variable in Komodo verwenden.

Secrets niemals direkt in die Compose-Datei schreiben.