Files
michaelschiemer/deployment/docs/guides/os-selection.md
Michael Schiemer 36ef2a1e2c
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
fix: Gitea Traefik routing and connection pool optimization
- 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
2025-11-09 14:46:15 +01:00

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?

  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):

# 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