# 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? 1. **? Getestet und validiert** - Alle Ansible-Playbooks sind mit Ubuntu 22.04 LTS getestet - Docker-Install-Script ist f?r Ubuntu optimiert 2. **? LTS-Support** - Support bis April 2027 - Regelm??ige Security-Updates - Stabile Basis f?r Production 3. **? Docker-Kompatibilit?t** - Offizielle Docker-Repositorys f?r Ubuntu - Beste Performance und Kompatibilit?t - Aktuelle Docker-Versionen verf?gbar 4. **? Dokumentation** - Alle Guides und Scripts sind auf Ubuntu ausgelegt - Weniger Anpassungen n?tig 5. **? 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`): ```yaml # 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: 1. ? Alle Scripts und Playbooks sind darauf ausgelegt 2. ? Docker-Installation funktioniert out-of-the-box 3. ? Vollst?ndig getestet und dokumentiert 4. ? LTS-Support bis 2027 (ausreichend f?r Production) 5. ? 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: 1. **Backup erstellen** - Datenbank-Dumps - Docker-Volumes - Konfigurationsdateien 2. **Server neu aufsetzen** - Neues OS installieren - Basis-Setup durchf?hren 3. **Ansible-Playbooks anpassen** (falls Debian) - Docker-Install-Script anpassen - OS-spezifische Checks pr?fen 4. **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`