@jeff Exakt mein Gedanke :) und es laeuft und laeuft. Fuer meine use cases voellig ausreichend und so charmant simple.
lukasrotermund
@jeff Dazu hab ich auch was in Textform:
-> https://lukasrotermund.de/posts/i-retired-nginx-for-caddy-and-never-looked-back
Caddy ist in Go geschrieben, aber das muss man nicht koennen um Caddy zu bedienen. Die Konfigurationen sind halt um ein so vielfaches einfacher als bei Apache und Nginx.
Zusaetzlich brauchst du den Certbot fuer Lets Encrypt nicht mehr, da Caddy das Certificate Handling fuer dich uebernimmt.
3/3
@jeff Ansible hat den Vorteil, dass man seinen eigenen (oder fremde) Playbooks einfach konfigurieren und ausfuehren kann. Hier wird einfach ein geplanter Endzustand beschrieben.
z.B.:
- Sorge dafuer das diese SSH Keys hinterlegt sind
- Sorge dafuer das fail2ban eingerichtet ist
- Sorge dafuer das docker installiert ist
Caddy ist einfach ein Webserver. Den nutze ich als rev. Proxy, damit meine Docker Container nicht direkt am Internet haengen. Docker tut sich hier mit der UFW schwer.
2/3
@jeff ah ok, I see.
Ich sehe es pragmatisch :), natuerlich kommen docker und co. mit ihren ganz eigenen Problemen und Fallstricken, aber IMO machen sie mir am Ende auf gleich viel weniger Kopfschmerzen als vorher. Meinen Server umzuziehen bedeutet fuer mich nur noch:
- Basic setup einrichten (ufw, fail2ban, ssh, user, docker, ...)
- Meine docker compose yaml zu kopieren
- und ein docker compose up auszufuehren
Selbst wenn ich was kaputt mache ist es schnell korrigiert.
1/3
@jeff @linux IMO kommt es darauf an was dein Ziel ist. Willst du deinen eigenen Server managen auf dem etwas Software läuft die du betreibst, ober geht es schon um mehrere Systeme?
Für **mich** ist aktuell die entspannteste Lösung:
- caddy als rev. proxy für alles was von außen erreichbar ist
- docker (compose), ohne port exposing für alle Anwendungen auf meinem Server
- selektives Updaten von Hand
- optional: zur Einrichtung und Wartung Ansible
@jeff Exakt. Unter Linux spielt es keine Rolle was das unterliegende System ist, hier nutzt docker fuer die Resourcen (mem, cpu) cgroups, zur Prozess Abgrenzung namespaces und fuers networking iptables.
Unter Windows und Mac wird dafuer eine Linux VM gestartet. Laeuft also im Grunde auf allen Systemen aehnlich (volumns unterscheiden sich her etwas in der performance wegen der VM bridge).
Aber da ich eh ueberall Linux habe interessiert mich das nicht :)