Micha
|
96984ca0de
|
Finish merge and update borg-ui backup mounts
|
2026-04-12 17:49:44 +02:00 |
|
Micha
|
681ea211ce
|
docs/MIGRATION_LOG.md aktualisiert
|
2026-03-28 19:45:17 +00:00 |
|
Micha
|
73137b78d9
|
Migration Log – 2026-03-25
# 🗓️ Migration Log – 2026-03-25
## 🔧 Ziel der Session
* Bereinigung und Härtung der bestehenden Container-Architektur
* Umstellung auf Git-basierte Stacks (Gitea + Portainer)
* Entfernung unnötiger Angriffsflächen (Ports, bridge-Netzwerke)
---
## 🔐 Vaultwarden – Finalisierung
### Änderungen
* Migration auf `frontend_net`
* Entfernung von Host-Port
* Integration über Traefik (`vault.kaleschke.info`)
* Nutzung von `ADMIN_TOKEN_FILE` statt Klartext
* Entfernung alter `config.json`
### Ergebnis
* sauberer, sicherer Betrieb
* keine Secrets im Klartext
* reproduzierbar über Git
---
## 🗄️ PostgreSQL (postgresql17) – Migration
### Ausgangszustand
* lief als Einzelcontainer
* im `bridge` Netzwerk
* Port `5432` öffentlich
* Passwort im Klartext sichtbar
### Änderungen
* Migration in Git-Stack (`infra/postgresql17`)
* Entfernung von Port-Binding (`5432`)
* nur noch im `backend_net`
* Einführung von Secret-Datei (`POSTGRES_PASSWORD_FILE`)
* Restart-Policy auf `unless-stopped`
### Vorgehen
1. Backup via `pg_dumpall`
2. Zustand via `docker inspect` gesichert
3. Container gestoppt & entfernt
4. neuer Stack über Gitea deployed
5. Funktion geprüft (DB + abhängige Services)
### Ergebnis
* Daten unverändert erhalten
* kein externer Zugriff mehr möglich
* zentrale DB für:
* mail-archiver
* paperless-ngx
---
## 🍽️ Mealie – Neuaufbau
### Ausgangszustand
* Zugriff über Port `9935`
* DB im `frontend_net`
* Klartext-Passwort in Compose
* kein Traefik
### Änderungen
#### Architektur
* Einführung von `mealie_internal` Netzwerk
* `mealie-postgres` nur noch intern erreichbar
* `mealie` in:
* `frontend_net` (Traefik)
* `mealie_internal` (DB)
#### Zugriff
* Entfernung von Port `9935`
* Integration über Traefik (`mealie.kaleschke.info`)
#### Secrets
* Entfernung von Klartext-Passwort aus Compose
* Nutzung von Portainer Environment Variable:
* `MEALIE_DB_PASSWORD`
### Besonderheit
* `env_file` mit Host-Pfad funktionierte nicht
* Ursache: Portainer Git-Stacks haben keinen Zugriff auf `/mnt/...`
### Lösung
* Secrets über Portainer UI verwaltet
* Compose nutzt `${MEALIE_DB_PASSWORD}`
### Ergebnis
* saubere Trennung von App und DB
* keine offenen Ports
* Git-Repo ohne Secrets
---
## 🔁 DIUN
### Änderungen
* Integration ins `frontend_net`
* Nutzung von Container-Namen für Gotify
---
## ⚠️ Wichtige Learnings
### Portainer + Git + env_file
* Host-Pfade (`/mnt/...`) sind nicht erreichbar
* `env_file` daher ungeeignet
👉 Lösung:
* Nutzung von Portainer Environment Variables
---
### `_FILE` Support ist nicht universell
* Vaultwarden → unterstützt `_FILE`
* PostgreSQL → unterstützt `_FILE`
* Mealie → unterstützt `_FILE` **nicht**
---
### Migration ohne Risiko
* Daten liegen immer im Volume
* Container können jederzeit neu gebaut werden
* Backup + Inspect vor Änderung ist Pflicht
---
## 🏁 Fazit
Alle kritischen Services wurden erfolgreich:
* abgesichert
* strukturiert
* in Git überführt
👉 System ist jetzt:
* reproduzierbar
* deutlich sicherer
* architektonisch sauber
|
2026-03-25 19:13:35 +00:00 |
|
Micha
|
5027422629
|
docs/MIGRATION_LOG.md aktualisiert
|
2026-03-25 19:07:03 +00:00 |
|
Micha
|
acabbd68a0
|
docs/MIGRATION_LOG.md aktualisiert
### Vaultwarden – Details
- Migration auf GitOps (Gitea + Portainer) erfolgreich
- Direkter Host-Port (4743) entfernt
- Traefik Routing via Docker Labels
- ADMIN_TOKEN von ENV auf File-Secret umgestellt
- Konflikt mit alter Traefik File-Config behoben (vaultwarden.yml deaktiviert)
|
2026-03-23 18:35:36 +00:00 |
|
Micha
|
7a7df8f12c
|
docs/MIGRATION_LOG.md aktualisiert
|
2026-03-23 17:04:23 +00:00 |
|
Micha
|
69477e512b
|
Add full homelab structure
|
2026-03-23 17:54:57 +01:00 |
|