Repo sauber machen
This commit is contained in:
2026-04-15 13:40:03 +02:00
parent 326c744e95
commit bbdf2ffb60
12 changed files with 146 additions and 255 deletions
+34 -25
View File
@@ -1,31 +1,39 @@
# Secrets Map Homelab
# Secrets Map - Homelab
Dieses Dokument listet alle sensiblen Daten (Passwörter, Tokens, Keys) und deren Speicherorte.
Dieses Dokument listet sensible Daten, deren Ablageorte und die vorgesehene Einbindungsart.
## Grundregeln
- Secrets liegen **niemals im Git-Repository**
- Speicherort: `/mnt/user/appdata/secrets/`
- Standardspeicherort: `/mnt/user/appdata/secrets/`
- Berechtigungen: `chmod 600`
- Nutzung in Docker über `_FILE` Variablen oder Komodo/Portainer Stack Environment Variables
- Nutzung in Docker ueber `_FILE` Variablen oder Komodo Stack Environment Variables
---
## Übersicht
## Aktive Secrets
| Service | Secret | Datei / Methode | Status |
|---|---|---|---|
| Vaultwarden | ADMIN_TOKEN | `vaultwarden_admin_token.txt` `ADMIN_TOKEN_FILE` | |
| PostgreSQL 17 | DB Password | `postgres_password.txt` `POSTGRES_PASSWORD_FILE` | |
| Mealie | DB Password | Stack ENV `${MEALIE_DB_PASSWORD}` (kein `_FILE`-Support) | ✅ |
| mealie-postgres | DB Password | Stack ENV `${POSTGRES_PASSWORD}` | |
| Gotify | User Passwort | `gotify_password.txt``GOTIFY_DEFAULTUSER_PASS_FILE` | ✅ |
| Paperless-ngx | DB Password | Stack ENV `${PAPERLESS_DBPASS}` (kein `_FILE`-Support) | ✅ |
| code-server | Passwort | `code_server_password.txt``PASSWORD_FILE` | ✅ |
| Immich (server) | DB Password | Stack ENV `${IMMICH_DB_PASSWORD}` | ✅ |
| immich-postgres | DB Password | `immich_db.txt``POSTGRES_PASSWORD_FILE` | ✅ |
| mail-archiver | Auth Password | Stack ENV `${MAILARCHIVER_AUTH_PASSWORD}` | ✅ |
| Borg UI / BorgBase | Admin-Login, `SECRET_KEY`, SSH-Keys, Repo-Passphrasen | app-intern persistiert unter `/mnt/user/appdata/borg-ui/data/` (DB + SSH-Key-Verzeichnis), nicht im Git | 🔄 |
| ~~diun~~ | ~~Gotify Token~~ | ~~Stack ENV~~ | ❌ Container entfernt (2026-03-28) |
| Vaultwarden | ADMIN_TOKEN | `vaultwarden_admin_token.txt` -> `ADMIN_TOKEN_FILE` | aktiv |
| PostgreSQL 17 | DB Password | `postgres_password.txt` -> `POSTGRES_PASSWORD_FILE` | aktiv |
| Mealie | DB Password | Stack ENV `${MEALIE_DB_PASSWORD}` | aktiv |
| mealie-postgres | DB Password | Stack ENV `${POSTGRES_PASSWORD}` | aktiv |
| Paperless-ngx | DB Password | Stack ENV `${PAPERLESS_DBPASS}` | aktiv |
| code-server | Passwort | `code_server_password.txt` -> `PASSWORD_FILE` | aktiv |
| Immich (server) | DB Password | Stack ENV `${IMMICH_DB_PASSWORD}` | aktiv |
| immich-postgres | DB Password | `immich_db.txt` -> `POSTGRES_PASSWORD_FILE` | aktiv |
| mail-archiver | Auth Password | Stack ENV `${MAILARCHIVER_AUTH_PASSWORD}` | aktiv |
| Borg UI / Borg | Admin-Login, `SECRET_KEY`, SSH-Keys, Repo-Credentials | persistent unter `/mnt/user/appdata/borg-ui/data/` | aktiv |
---
## 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 |
---
@@ -33,20 +41,21 @@ Dieses Dokument listet alle sensiblen Daten (Passwörter, Tokens, Keys) und dere
```text
/mnt/user/appdata/secrets/
├── vaultwarden_admin_token.txt
├── postgres_password.txt
├── gotify_password.txt
├── code_server_password.txt
└── immich_db.txt
|-- vaultwarden_admin_token.txt
|-- postgres_password.txt
|-- code_server_password.txt
`-- immich_db.txt
```
> **Hinweis:** Mealie, Paperless, mail-archiver und Immich-Server nutzen Stack Environment Variables statt Datei-Mounts, da `_FILE`-Support nicht vorhanden oder unzuverlässig ist.
Hinweise:
> **Hinweis zu Borg UI:** Die Anwendung erzeugt bzw. verwaltet ihr Session-Secret, den Admin-Login, SSH-Keys und Repo-Credentials in der persistenten `/data`-Struktur. Damit liegen keine Secrets im Git, aber die Sicherung von `/mnt/user/appdata/borg-ui/data/` ist für Restore und Disaster Recovery Pflicht.
- Mealie, Paperless, mail-archiver und der Immich-Server nutzen Stack Environment Variables statt Datei-Mounts.
- 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.
---
## Regel
Wenn `_FILE` nicht unterstützt wird Stack Environment Variable in Komodo/Portainer verwenden.
Wenn `_FILE` nicht unterstuetzt wird -> Stack Environment Variable in Komodo verwenden.
Secrets niemals direkt in die Compose-Datei schreiben.