- Remove middleware reference from Gitea Traefik labels (caused routing issues) - Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s) - Add explicit service reference in Traefik labels - Fix intermittent 504 timeouts by improving PostgreSQL connection handling Fixes Gitea unreachability via git.michaelschiemer.de
4.1 KiB
Betriebssystem-Auswahl f?r Production-Server
Status: ? Aktuell
Empfehlung: Ubuntu 22.04 LTS
Letzte Aktualisierung: 2025-01-XX
Empfehlung: Ubuntu 22.04 LTS
Warum Ubuntu?
-
? Getestet und validiert
- Alle Ansible-Playbooks sind mit Ubuntu 22.04 LTS getestet
- Docker-Install-Script ist f?r Ubuntu optimiert
-
? LTS-Support
- Support bis April 2027
- Regelm??ige Security-Updates
- Stabile Basis f?r Production
-
? Docker-Kompatibilit?t
- Offizielle Docker-Repositorys f?r Ubuntu
- Beste Performance und Kompatibilit?t
- Aktuelle Docker-Versionen verf?gbar
-
? Dokumentation
- Alle Guides und Scripts sind auf Ubuntu ausgelegt
- Weniger Anpassungen n?tig
-
? Community & Support
- Gro?e Community
- Viele Tutorials und L?sungen verf?gbar
- Einfacheres Troubleshooting
Alternative: Debian 12
Vor- und Nachteile
Vorteile:
- ? Minimaler Footprint (weniger Ressourcen)
- ? Sehr stabil und sicher
- ? L?ngere Release-Zyklen
- ? Open-Source pur (keine kommerziellen Komponenten)
Nachteile:
- ?? Docker-Install-Script muss angepasst werden
- ?? ?ltere Paket-Versionen (konservativer)
- ?? Weniger getestet mit diesem Setup
Anpassungen f?r Debian 12
Falls Debian 12 verwendet werden soll, m?ssen folgende Anpassungen vorgenommen werden:
1. Docker-Install-Script anpassen (deployment/ansible/playbooks/install-docker.yml):
# Zeile 25: Ubuntu ? Debian
- name: Add Docker GPG key
ansible.builtin.shell:
cmd: |
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
creates: /etc/apt/keyrings/docker.asc
# Zeile 32: Ubuntu ? Debian
- name: Add Docker repository
ansible.builtin.shell:
cmd: |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
creates: /etc/apt/sources.list.d/docker.list
2. OS-Detection in Playbooks pr?fen
Die meisten Ansible-Roles verwenden ansible_os_family == 'Debian', was f?r beide Systeme funktioniert. Aber spezifische Ubuntu-Checks m?ssen angepasst werden.
Vergleich
| Kriterium | Ubuntu 22.04 LTS | Debian 12 |
|---|---|---|
| Getestet | ? Ja | ?? Teilweise |
| Docker-Support | ? Optimal | ?? Anpassung n?tig |
| LTS-Support | ? Bis 2027 | ? Bis 2029 |
| Ressourcen | ?? Mehr | ? Weniger |
| Paket-Versionen | ? Aktueller | ?? Konservativer |
| Dokumentation | ? Vollst?ndig | ?? Anpassung n?tig |
| Community | ? Gro? | ? Gro? |
| Setup-Aufwand | ? Minimal | ?? Anpassungen n?tig |
Empfehlung f?r dieses Projekt
Ubuntu 22.04 LTS ist die beste Wahl, weil:
- ? Alle Scripts und Playbooks sind darauf ausgelegt
- ? Docker-Installation funktioniert out-of-the-box
- ? Vollst?ndig getestet und dokumentiert
- ? LTS-Support bis 2027 (ausreichend f?r Production)
- ? Einfacheres Setup und Wartung
Debian 12 ist m?glich, wenn:
- Minimaler Footprint wichtig ist
- Man bereit ist, das Docker-Install-Script anzupassen
- Man die l?ngere LTS-Periode (bis 2029) bevorzugt
Migration zwischen Systemen
Falls sp?ter von Ubuntu zu Debian (oder umgekehrt) gewechselt werden soll:
-
Backup erstellen
- Datenbank-Dumps
- Docker-Volumes
- Konfigurationsdateien
-
Server neu aufsetzen
- Neues OS installieren
- Basis-Setup durchf?hren
-
Ansible-Playbooks anpassen (falls Debian)
- Docker-Install-Script anpassen
- OS-spezifische Checks pr?fen
-
Infrastructure deployen
- Via Ansible alle Stacks deployen
- Datenbank-Dumps wiederherstellen
- Volumes migrieren
Fazit
F?r dieses Projekt: Ubuntu 22.04 LTS ist die empfohlene und getestete Wahl. Debian 12 ist m?glich, erfordert aber zus?tzliche Anpassungen.
N?chste Schritte:
- Server mit Ubuntu 22.04 LTS installieren
- Setup-Guide befolgen:
deployment/docs/guides/server-rebuild-plan.md