Homeserver - Proxmox - Docker Grundsatzfagen

oicfar schrieb:
Und die habe ich ohne Proxmox. Vielleicht würde ich heute den Setup mit Proxmox machen. Das weiß ich noch nicht

Wie verwaltest du Docker/Container? Direkt nativ unter Linux, via CLI oder per Portainer?
 
Nativ unter Linux. Portainer habe ich ich vor 3-4 Jahren genutzt. Es ist schon gutes Tool.

Aber ich komme mit CLI gut zurecht. Ich habe oft Bash Skripte, die mir die Arbeit erleichtern.

z.B. für Paperless-ngx

1702498968216.png

Prinzipiell versuche ich nur das laufen zu lassen, was ich bauche. Und Porteiner brauche ich nicht, da ich damit kein Vorteil habe. Außer, dass es Ressourcen verbraucht.

Ich habe Nexus Sonatype im Einsatz. Nutze ich als DockerHub Proxy und ich packe auch hier meine Docker Images rein und nicht bei DockerHub.
Ergänzung ()

Ich habe noch eine Proxmox Spielwiese. Da habe ich Docker im LXC Container mit Portainer am Laufen. Aber der NUC ist nur an, wenn ich mit Portainer was ausprobieren will.
 
Tekras schrieb:
Wenn 3, warum noch Docker, wieso installiere ich die Apps nicht einfach nativ auf das Linux?
Weil Docker ein gerade abklingender Hype ist und man alles in einen Container schmeißen muss.

Natriumchlorid schrieb:
Möglichkeit 3 halte ich für unvorteilhaft, da dein Host durch die Installation von allen Applikationen anfängt zu fragmentieren.
Ich bin jetzt mal der Gegenpol. Ich hab ein kleines ARM-NAS, auf dem Plex läuft. In Nginx hab ich einen Vhost konfiguriert. Da fragmentiert nichts. Plex wird automatisch bei jedem apt upgrade mit aktualisiert.

Meiner Meinung nach ist die ganze Dockergeschichte im Heimbereich Quatsch. Man muss nicht jedes Programm in einen Container verfrachten, wenn es genauso gut nativ auf dem Rechner läuft und laufen kann.

Docker ist für Programmierer sinnvoll, wenn sie verschiedene Architekturen testen wollen. Es ist für Administratoren in großen Umgebungen sinnvoll, wenn sowohl eine horizontale als auch vertikale Skalierung des Dienstes benötigt wird.

Docker ist dann schlecht, wenn der Programmierer nur zu faul ist, seine Software stabil genug zu bauen, damit sie auf den gängigen Distributionen mit den aktuellen Libs läuft. Und Docker ist für den Endanwender ebenfalls nicht sonderlich sinnvoll, da viele Nutzer Probleme kriegen, die Ressourcen (Netzwerk, Verzeichnisse) korrekt in den Container zu mappen.

Meine Grundregel: Wenn es nativ auf dem System läuft, dann wird es auch nativ installiert.

Und zu Jellyfin vs Plex: Jellyfin ist in C# programmiert, da es ein Emby-Fork ist. Plex ist C++. Ich hatte vor 2 Jahren mit Jellyfin rumgespielt und entnervt aufgegeben, da Microsoft in Dotnet einen Bug beim Auslesen der Linux-Netzwerkdevices eingebaut hat. Mit Plex bin ich ziemlich zufrieden. Es macht genau das, was es soll.
 
Pummeluff schrieb:
Weil Docker ein gerade abklingender Hype ist und man alles in einen Container schmeißen muss.
Es bringt schon Vorteile.
Pummeluff schrieb:
Meiner Meinung nach ist die ganze Dockergeschichte im Heimbereich Quatsch. Man muss nicht jedes Programm in einen Container verfrachten, wenn es genauso gut nativ auf dem Rechner läuft und laufen kann.
Ein Beispiel. Installation von Gitea: https://docs.gitea.com/installation/install-from-binary

Man muss:
  • Nutzer anlegen
  • Gruppe anlegen
  • verschiedene Verzeichnisse mit den passenden Berechtigungen
  • usw.
Wenn man nun Gitea aus seinem System entfernen möchte, dann muss man das alles in umgekehrter Reihenfolge machen.

Und so https://docs.gitea.com/installation/install-with-docker sieht es mit Docker aus.

Viel einfacher und überschaubarer.

Sieg für Docker.

Ach ja, bei mir läuft Gitea nicht im Docker.

Docker hat auch für "normale" Nutzer Vorteile und nicht nur für Developer.

Ich lasse bestimmte Sachen im Docker laufen und andere wiederum nicht.
Ergänzung ()

Ich habe auch ein Fall, wo ich das Tool nativ nicht installieren kann. Würde nicht laufen. Aber im Docker schon, da ich so die passende Umgebung habe.

Erst wenn man es insgesamt versteht, kommt man auch zum anderen Ergebnis. Man muss nicht immer alles gleich verteufeln.
 
Pummeluff schrieb:
Meiner Meinung nach ist die ganze Dockergeschichte im Heimbereich Quatsch. Man muss nicht jedes Programm in einen Container verfrachten, wenn es genauso gut nativ auf dem Rechner läuft und laufen kann.
Also ja: Man muss nicht unbedingt alles in einen Container werfen. Ob Container aber deshalb gleich generell Quatsch ist, kann man natürlich auch nicht sagen. Man muss aber auch gar nicht unbedingt in solche Extrempositionen verfallen. Man kann ja sowohl "nativ" als auch Container einsetzen. Das schließt sich ja nicht aus.

Wie schon gesagt bieten Container ja Isolation und sie vereinfachen das Deployment, weil so Programme nach außen hin ein einheitliches Interface haben.

oicfar schrieb:
Idealerweise hat man ja das Programm als Paket. Und das kümmert sich dann um die Installationsschritte und ermöglicht auch eine Deinstallation.
 
andy_m4 schrieb:
Idealerweise hat man ja das Programm als Paket. Und das kümmert sich dann um die Installationsschritte und ermöglicht auch eine Deinstallation.
Richtig. Ich wollte nur ein Beispiel zeigen. Und es gibt noch viele andere Tools, die es nicht als ein Paket gibt.

Am Ende des Tages muss jeder für sich entscheiden, welchen Ansatz man nimmt. Alles hat Vor-/Nachteile.
 
Pummeluff schrieb:
Meine Grundregel: Wenn es nativ auf dem System läuft, dann wird es auch nativ installiert.
Nach diesem Prinzip hab ich meine Server-Umgebung zu Hause auch damals aufgebaut. Es entstehen, meiner Meinung nach, keine Nachteile, sofern jeder Dienst seinen eigenen Port verwendet.
Pummeluff schrieb:
In Nginx hab ich einen Vhost konfiguriert. Da fragmentiert nichts.
Eine Zeit lang hatte ich auch mehrere Dienste unter einer IPv4-Adresse erreichbar gemacht. Da ich zu der Zeit in einer WG voller Informatiker gewohnt habe, hatten auch meine Kollegen Interesse entwickelt mit einem kleinen Homelab zu experimentieren und Dienste privat im Internet zur Verfügung zu stellen.

Ich entschied mich in Falle einen neuen LXC-Container zu erstellen, indem ein nginx Reverse Proxy lauschte (welcher als einzige Instanz unter der öffentlichen IPv4 erreichbar war) und nur darauf gewartet hatte die Host-Header auszuwerten.

Klar, ich hätte das auch genau so gut auf einem Host, mit nur einem nginx lösen können.
Aber so hatte ich für mich die saubere Trennung zwischen LXC-Container mit Reverse Proxy (und somit auch eigener privater IPv4) und die LXC-Container, welche die übrigen Webdienste zur Verfügung gestellt haben.

Als ich ausgezogen bin, konnte ich einfach den Container mit dem Reverse-Proxy in Rente schicken und hab in nginx Konfigurationen der anderen Webdienste nichts anpassen müssen. Das fand ich schon sehr convenient.
Pummeluff schrieb:
Meiner Meinung nach ist die ganze Dockergeschichte im Heimbereich Quatsch. Man muss nicht jedes Programm in einen Container verfrachten, wenn es genauso gut nativ auf dem Rechner läuft und laufen kann.
Man muss es auch nicht verwenden. Das ist doch grad das Schöne, wenn man die freie Auswahl hat, wie man seine eigene Umgebung gestalten möchte. :)

Ich finds halt super praktisch, wenn ich ein neues Tool oder eine App testen möchte. LXC-Container aus einem fertig präpariertem Golden-Image starten und binnen Sekunden die neue App isoliert testen.
Sollte sie mir nicht gefallen oder hab ich genug dran rumgespielt wird der Container einfach wieder gelöscht. Würde das alles auf dem selben Host passieren, so müsste ich Pakete deinstallieren, Konfigurationen zurückspielen/entfernen, Datenreste entfernen - you get the idea.

Von Docker bin ich auch kein Fan, aber LXC find ich schon cool. :D
 
  • Gefällt mir
Reaktionen: andy_m4
Ich habe ~11 Container am Start und alle, die PostgreSQL gestartet haben, habe ich so umgebaut, dass ich meine externe PostgreSQL Instanz nutze. So spare ich Ressourcen und bin auch performanter.
Ergänzung ()

Natriumchlorid schrieb:
Ich finds halt super praktisch, wenn ich ein neues Tool oder eine App testen möchte. LXC-Container aus einem fertig präpariertem Golden-Image starten und binnen Sekunden die neue App isoliert testen.
Terraform wäre dafür geeignet.
 
Zuletzt bearbeitet:
oicfar schrieb:
Richtig. Ich wollte nur ein Beispiel zeigen. Und es gibt noch viele andere Tools, die es nicht als ein Paket gibt.
Ja. Mag sein. Aber es gibt ja genauso auch Tools ohne Docker-Support. Insofern zieht das Argument nicht wirklich.
 
Zurück
Oben