Commit Graph

218 Commits

Author SHA1 Message Date
Micha f74ea0211b feat(core/gitea): add docker-compose.yml
Dokumentiert den laufenden Gitea-Stack im Repo (GitOps-Migration Sprint 4).
SSH-Port 222 bleibt als dokumentierte Ausnahme.
2026-03-26 19:38:28 +00:00
Micha 47443407ec Version 1 2026-03-26 16:24:41 +00:00
Micha 2ba78acc78 HOMELAB_ARCHITECTURE_MASTER_V2.md aktualisiert 2026-03-26 16:07:11 +00:00
Micha 66eb077512 Version 1 2026-03-26 15:57:01 +00:00
Micha daafaeb7d4 ops/filebrowser/docker-compose.yml aktualisiert 2026-03-26 15:54:09 +00:00
Micha a434e74bbb Version 1 2026-03-26 15:36:37 +00:00
Micha ef40291b61 Version 1 2026-03-26 15:34:29 +00:00
Micha e666e12bf2 apps/paperless/docker-compose.yml aktualisiert 2026-03-26 15:23:45 +00:00
Micha 6e5c7da629 apps/mail-archiver/docker-compose.yml aktualisiert 2026-03-26 15:22:14 +00:00
Micha 6c39b83536 Version 1 2026-03-26 15:21:21 +00:00
Micha 57bcd9ed01 apps/gotify/docker-compose.yml aktualisiert 2026-03-26 15:14:41 +00:00
Micha 38551efb09 Version 1 2026-03-26 13:12:18 +00:00
Micha b3574103aa apps/immich-server/docker-compose.yml aktualisiert 2026-03-26 13:05:20 +00:00
Micha 904de1acd2 Version 1 2026-03-26 13:01:02 +00:00
Micha b339a88a6c HOMELAB_ARCHITECTURE_MASTER_V2.md aktualisiert
# mail-archiver benötigt frontend_net für:
# - IMAP Zugriff (Gmail/GMX)
# - DNS / Internet
# backend_net bleibt für DB (postgresql17)
2026-03-26 12:43:27 +00:00
Micha 69e5f32ae4 apps/mail-archiver/docker-compose.yml aktualisiert
feat(mail-archiver): add Traefik routing and frontend network for external mail access

- added Traefik labels for HTTPS routing via mail.kaleschke.info
- connected service to frontend_net to enable outbound internet access (IMAP/DNS)
- kept backend_net for internal PostgreSQL communication
- enables proper mail sync (external) and database access (internal)
2026-03-26 12:41:01 +00:00
Micha ed44bc9699 apps/mail-archiver/docker-compose.yml aktualisiert 2026-03-26 12:36:36 +00:00
Micha 1f9789f2f0 Version 1 2026-03-26 12:31:14 +00:00
Micha 9696330057 apps/paperless/docker-compose.yml aktualisiert 2026-03-26 12:24:49 +00:00
Micha 3d5a6a6d06 apps/mealie/docker-compose.yml aktualisiert 2026-03-26 12:10:26 +00:00
Micha 4eb5952b87 ops/code-server/docker-compose.yml aktualisiert 2026-03-26 11:56:37 +00:00
Micha cc8358ee98 Version 1 2026-03-26 11:55:36 +00:00
Micha 0123e414ab Version 1 2026-03-26 11:52:07 +00:00
Micha 399de43b4a infra/redis/docker-compose.yml aktualisiert 2026-03-26 09:39:44 +00:00
Micha 5ebf018de4 Version 1 2026-03-26 09:33:24 +00:00
Micha 61b7961e8d Version 1 2026-03-26 09:14:49 +00:00
Micha d1beb66fa1 Version 1 2026-03-26 09:03:56 +00:00
Micha 23764ab639 Version 1 2026-03-26 08:49:51 +00:00
Micha 9c437137e7 apps/stash/docker-compose.yml aktualisiert 2026-03-26 08:41:13 +00:00
Micha e7e15b0530 apps/stash/docker-compose.yml aktualisiert 2026-03-26 08:39:48 +00:00
Micha f5763a36e0 Version 1 2026-03-26 08:25:09 +00:00
Micha 1c1d8b1adb Version 1 2026-03-26 08:19:56 +00:00
Micha 2e8a09aecd Version 1 2026-03-26 08:06:22 +00:00
Micha 14c5c3454e ops/dozzle/docker-compose.yml aktualisiert 2026-03-26 07:54:03 +00:00
Micha 4f9d738c67 ops/dozzle/docker-compose.yml aktualisiert 2026-03-26 07:45:45 +00:00
Micha 07ee6edb76 Version 1 2026-03-26 07:33:55 +00:00
Micha f280c85264 Version 1 2026-03-26 06:58:19 +00:00
Micha 059a5276f5 apps/paperless/docker-compose.yml aktualisiert 2026-03-26 06:36:10 +00:00
Micha 3e9d2918d1 Version 1 2026-03-26 06:24:36 +00:00
Micha 4ad9140225 HOMELAB_ARCHITECTURE_MASTER_V2.md aktualisiert 2026-03-25 19:27:43 +00:00
Micha 84e0d4f123 apps/mealie/docker-compose.yml aktualisiert 2026-03-25 19:23:40 +00:00
Micha fbf700d576 HOMELAB_ARCHITECTURE_MASTER_V2.md aktualisiert 2026-03-25 19:20:11 +00:00
Micha 18e726de54 HOMELAB_ARCHITECTURE_MASTER_V2.md aktualisiert 2026-03-25 19:19:36 +00:00
Micha c3c6c3359d HOMELAB_ARCHITECTURE_MASTER_V2.md aktualisiert 2026-03-25 19:15:41 +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 caf4c07283 apps/mealie/docker-compose.yml aktualisiert 2026-03-25 19:01:19 +00:00
Micha 3db0744f23 apps/mealie/docker-compose.yml aktualisiert 2026-03-25 18:46:49 +00:00
Micha 820fc48f34 apps/mealie/docker-compose.yml aktualisiert 2026-03-25 18:31:33 +00:00
Micha 876eb97625 Version 1 2026-03-25 18:27:22 +00:00