Hallo Linux-Admins, ich brauche mal einen Rat. Ich bin seit recht vielen Jahren mit Linux-Servern "zugange". Ich komme mit der Shell gut zurecht. Einen LAMP-Server aufzusetzen, ist im Grunde mehr oder weniger kein Ding. Programmierung ist jetzt auch nicht so das Problem. Aber ich mache das nicht 24/7. Ich hab noch andere "Hobbies" im WebUmfeld. Gerade bei Neuerungen und Problemlösungen brauche ich einfach zu lange. Daher würde ich so manche Admin-Aufgaben gern automatisieren.
Wie managed man seine Server am sinnvollsten? Sind Tools wie Froxlor, Cockpit, ISPconfig und der gleichen zur Unterstützung wirklich sinnvoll? Ich habe jetzt 2 Jahre mit YunoHost experimentiert. Das System ist schick, aber bei der Umstellung von der einen auf die andere Version knallts. Die Community ist nett und hilfsbereit, aber wenn es Probleme und Fragen gibt und man nach 4 Wochen auf verschiedene Posts so gar keine Reaktion bekommt, dann ist bei allem Verständnis und Geduld auch für ein OpenSource-Tool etwas knifflig. Da stellt sich dann auch im halb-privaten Umfeld doch die Frage der Praktikabilität.
So ein komplexes Tool nun auch noch vollständig bis in den letzten Winkel zu durchdringen, um die Probleme und Bugs dann selbst zu lösen, sprengt dann doch den Rahmen meiner verfügbaren Zeit.
Ich hab jetzt angefangen, wieder alles per Hand zu installieren und zu scripten. Aber ist das wirklich sinnvoll, das Rad neu zu erfinden? Es gibt immer wieder Änderungen an den Systemen und dann buddelt man sich durch die Blogs und Doku, bis man endlich aktuelle Infos hat. Anderseits, weiß man dann, was man hat und kennt sich aus.
Ich bin gerade etwas hin-und-her-gerissen. Habt ihr Tipps, Anregungen oder Gedanken für mich?
@linux #linux #administration #debian #it
@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:
Selbst wenn ich was kaputt mache ist es schnell korrigiert.
1/3
@lukasrotermund Ja, das klingt nach entspanntem Umzug 🙂 Ist denn das DockerSystem vom darunterliegendes OS unabhängig? Also, wenn ein Wechsel von zum Beispiel Debian 11 auf 12 ansteht, dann kann es ja doch die eine oder andere Änderung nach sich ziehen.
@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 :)
@lukasrotermund Jep - ich bin auch nur noch auf den Spuren des Pinguins unterwegs - Fenster und Äpfel kann man auch anders 😁
Ok, geht dann docker so in die vage Richtung einer VM? Im Inneren stets das gleiche System und draußen ist egal?
@jeff @lukasrotermund
Jein.
Beispiel:
Dockerhost:
Wir gehen in den Container, hier ein pihole:
Beachte, daß auch im Container (ein Alpine, kein Debian) sich ein Debian-Kernel meldet.
Weil es eben keine VM ist, sondern den Kernel des Hosts verwendet. Deshalb kann es auch kein lauffähiges Windows-Image geben, das auf Docker für Linux läuft.
Es ist sozusagen eine Vm auf Applikationsebene, nur die Applikation wird virtualisiert.
Mit Docker kann man spielen, da macht man nichts kaputt (außer dem Container vielleicht). Und da Docker seine Daten außerhalb des Containers speichert, kann man den Container nach Lust und Laune vergurken. Einfach das Image löschen und neu ziehen.
@rainer @lukasrotermund Man, das klingt spannend! Woher bekomme ich jetzt mal 2 Wochen am Block Zeit, um mich da reinzufuchsen? 🤔 🙂
@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 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
@lukasrotermund Ok, den Caddy schaue ich mir näher an. Das ConfigFile vom Caddy ist im Vergelich zum Apachen oder nginx ja kaum noch ConfigFile zu nennen 😉
@jeff Exakt mein Gedanke :) und es laeuft und laeuft. Fuer meine use cases voellig ausreichend und so charmant simple.