Es ist mal wieder so weit: Es ist der erste Sonntag im Monat. Habt ihr diesen Monat etwas gemacht, um von US-Technik, spionierender DE-Technik, teuren kommerziellen Abo-Zwängen oder ähnlichem wegzukommen?
Ich persönlich war den Mai eher etwas “faul”, was eher daran liegt, dass ich schon diverses umgesetzt habe. Strava hat mir aber jetzt mit den API-Änderungen einen Teil der Arbeit abgenommen. Ich habe keine Lust ein Abo bei denen zu bezahlen und daher wird Strava bei mir demnächst durch etwas anderes ersetzt. Ich habe mir schon vor einer Weile Geo Activity Playground installiert und das macht genau das, was ich eigentlich von Strava erwarte: Es verwaltet meine Aktivitäten und zeigt dann Statistiken dazu an. Diesen ganzen sozialen Krempel benötige ich nämlich nicht und ich teile auch keine Touren in irgendwelchen Netzwerken, weil es eh keine Sau interessiert. Jetzt muss ich nur noch überlegen, wie ich die Daten da ohne den Strava-Sync rein bekomme.
Hab mein meine Docker Umgebung auf meinem Heim-Bediener (Caddy-Proxy, Dockhand, Owncloud, Forgejo, Jellyfin, Tandoor, Open-WebUI, Ollama, Beszel, WinBoat) und auf meinem VPS (zusätzlich NTFY und Molly-Socket) auf rootless Podman umgestellt. Erst noch via podman-compose und jetzt alles komplett mit SystemD via Quadlets.
Als ich das das erste Mal probiert habe bin ich 0 klar gekommen aber einige chats mit der kostenlose ChatGPT Variante haben meinen Horizont sehr erweitert. Es läuft jetzt alles, sogar GPU Unterstützung für Ollama. Für den Caddy proxy der die services in den Podman containern ausliefert, benutze ich redir SystemD services, was noch nicht ideal ist aber die meisten anderen services laufen ohne viel Anpassungen. Meist müssen nur die korrekten Rechte für volume mounts gesetzt werden.
Mit den ganzen supply chain attacks fühl ich mich jetzt sehr viel sicherer. Falls du interesse an den quadlet files hast (sollte dein docker stack ähnlich sein), könnte ich u.U. dir das per mail senden. Ich möchte das ganze noch nicht veröffentlichen, da ich noch an 'ner blog Reihe dazu schreibe.
MEGA-Angebot, komme gern darauf zurück! Podman steht nämlich auch noch auf meiner Liste zum Experimentieren, und wenn man anhand fremder( funktionierender) Configs lernen kann, macht das das Vorankommen unendlich leichter. Ich melde mich per PM.
Zum Systemd/Quadlets: Habe ich das richtig auf dem Schirm, dass diese Integration für den Auto- bzw. Neustart verantwortlich ist?
deleted by creator
Freut mich dir eventuell beim Umstieg helfen zu können.
Ja u.A. kannst du festlegen ob die SystemD-units, die aus deinen Quadlet-Dateien generiert werden, nach einem reboot neu gestartet werden. Dieses feature ist leider eines der wenigen, wenn nicht einzigen, unintuitiven, dass ich bemerkt habe. Normalerweise legst du ja mit “systemd enable SERVICE” fest, dass der service beim booten gestartet werden soll. Bei den Quadlets funktioniert das über die “[Install]” Sektion in den Quadlet-Dateien. Hier ein fantastischer, knackig kompakter Blog-Artikel mit Erklärungen zu diesem und anderen Aspekten rund um Quadlets.
Das schöne an Quadlets ist, dass du keine ellenlangen “podman run[…]” Befehle mehr eingeben musst um deine Container zu starten/stoppen oder im Fall von podman-compose erst in die Verzeichnisse wechseln musst, in denen deine docker-compose.yml Dateien liegen. Im Falle eines rootless-Betriebs (siehe Blog-Artikel), schreibst du eine Quadlet-Datei (z.B. jellyfin.container) die ziemlich ähnlich ist zu einer SystemD Service-Unit-Datei, führst danach ein paar Schritte (im Blog beschrieben) einmalig aus und kannst dann zukünftig über “systemctl --user start|stop|status quadletname” mit deinen containern interagieren, egal wo du gerade im Dateisystem unterwegs bist.
Außerdem schreiben deine Container damit auch in das System-Journal und deren log kann dann z.B. über “journalctl --user -xeu jellyfin.service” eingesehen werden. Zusätzlich können neben .container (Quadlet) Dateien auch .network und .volume Dateien genutzt werden, in denen deine Podman Netzwerke und Volumes definiert werden. Dementsprechend ist das ganze auch ziemlich nice für Versionierung.
Bis die Tage.
Ach ja zusätzlich ist auch noch ziemlich cool, dass du Abhängigkeiten zwischen deinen Containern festlegen kannst. Wenn ein Webserver-Container z.B. von einem Datenbank-Container abhängig ist, kannst du in der Quadlet-Datei des Webserver-Containers mit “After=MyDB.container” angeben, dass dieser eben erst nach starten des Datenbank-Containers gestartet werden soll.