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@friendica.opensocial.spaceOP
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

    @lukasrotermund Gute Frage: Es sind meine eigenen Server. Mit Software für mich, die Familie und Freunde. Es sind inzwischen mehrere (5) Server. Manches muss ich austesten und schrotten dürfen. Das mache ich dann ungern auf Systemen, die zwar privat aber dann doch produktiv im Einsatz sind 😉

    Ansible habe ich kurz schon gesehen und um Docker mache ich regelmäßig einen Bogen 😉 Das ist mir alles noch recht neu und unbekannt. Wenn ich mal hier und da ein bis zwei Stunden Zeit zum “Linuxen” habe, dann kann ich im Moment nur das machen, was ich kenn und kann. Und ein Script in Bash runter zu hacken, ist mir alt bekannt 😉 Das Einarbeiten in Neues braucht mir dann doch mehr zusammenhängende Zeit zum konzentrierten Lernen. Ahne ich zumindest …
    Caddy kenne ich noch nicht. Kurz einen Blick geworfen und gesehen, dass es in “go” geschrieben ist. Noch nie mit zutun gehabt. Wäre das dann ein Ausschlusskriterium? Gefühlt ja -wäh neu! -, aber in der Praxis? 🤔

    • Lukas Rotermund@social.tchncs.de
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      3 days ago

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

      1. Basic setup einrichten (ufw, fail2ban, ssh, user, docker, …)
      2. Meine docker compose yaml zu kopieren
      3. und ein docker compose up auszufuehren

      Selbst wenn ich was kaputt mache ist es schnell korrigiert.

      1/3

      • jeff@friendica.opensocial.spaceOP
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        @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.

        • Lukas Rotermund@social.tchncs.de
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

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

          • jeff@friendica.opensocial.spaceOP
            link
            fedilink
            arrow-up
            1
            ·
            2 days ago

            @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?

            • rainer@friendica.sokoll.com
              link
              fedilink
              arrow-up
              2
              ·
              2 days ago

              @jeff @lukasrotermund

              Ok, geht dann docker so in die vage Richtung einer VM? Im Inneren stets das gleiche System und draußen ist egal?

              Jein.
              Beispiel:
              Dockerhost:

              ❯ uname -a
              Linux halde 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux
              ❯ cat /etc/*release
              PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
              NAME="Debian GNU/Linux"
              VERSION_ID="12"
              VERSION="12 (bookworm)"
              VERSION_CODENAME=bookworm
              ID=debian
              HOME_URL="https://www.debian.org/"
              SUPPORT_URL="https://www.debian.org/support"
              BUG_REPORT_URL="https://bugs.debian.org/"
              

              Wir gehen in den Container, hier ein pihole:

              ❯ docker exec -ti pihole bash
              halde:/# uname -a
              Linux halde 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux
              halde:/# cat /etc/*release
              3.19.7
              NAME="Alpine Linux"
              ID=alpine
              VERSION_ID=3.19.7
              PRETTY_NAME="Alpine Linux v3.19"
              HOME_URL="https://alpinelinux.org/"
              BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
              halde:/#
              

              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.

      • Lukas Rotermund@social.tchncs.de
        link
        fedilink
        arrow-up
        1
        ·
        3 days ago

        @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