<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Proxmox – teqqy</title><link>https://www.teqqy.de/tags/proxmox/</link><description>Ein Blog über Technik und mehr</description><language>de</language><managingEditor>teqqy</managingEditor><lastBuildDate>Sun, 26 Jul 2026 07:23:05 +0000</lastBuildDate><generator>Hugo 0.164.0</generator><atom:link href="https://www.teqqy.de/tags/proxmox/index.xml" rel="self" type="application/rss+xml"/><item><title>Selfhosted Setup 2025: Mein neuer Workflow mit Proxmox, Komodo und GitOps</title><link>https://www.teqqy.de/selfhosted-setup-2025-mein-neuer-workflow-mit-proxmox-komodo-und-gitops/</link><pubDate>Sun, 30 Nov 2025 12:20:00 +0100</pubDate><lastBuildDate>Sun, 30 Nov 2025 12:20:00 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/selfhosted-setup-2025-mein-neuer-workflow-mit-proxmox-komodo-und-gitops/</guid><description>Diejenigen die ein Homelab auch zum experimentieren und lernen nutzen, kennen das Problem: Nichts ist richtig und irgendwie machen alle anderen alles immer besser, schöner, toller. Naja, zumindest mir gehts häufig so wenn ich Blogbeiträge oder Posts in r/homelab (externer Link) lese. Eine längere Zeit nutzte ich Kubernetes für mein Homelab und habe damit einige Dinge gelernt. Die Umgebung hat auch Spaß gemacht, wurde mir aber irgendwann zu anstrengend zu administrieren. Ich setze Kubernetes nicht in meinem normalen Berufsleben ein, sodass mir häufig die Übung fehlt. Und daheim: Nunja, ist ja eher ein Homeprod als ein Homelab. Was ich in der ganzen Zeit aber super fand ist das GitOps Prinzip. Es machte die Pflege von Versionen einfach ohne mal wieder in einen riesen breaking change gelaufen zu sein der &amp;ldquo;alles kaputt macht&amp;rdquo;.</description><content:encoded>&lt;![CDATA[<p>Diejenigen die ein Homelab auch zum experimentieren und lernen nutzen, kennen das Problem: Nichts ist richtig und irgendwie machen alle anderen alles immer besser, schöner, toller. Naja, zumindest mir gehts häufig so wenn ich Blogbeiträge oder Posts in<a href="https://www.reddit.com/r/homelab/" target="_blank" rel="noopener noreferrer">r/homelab<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
lese. Eine längere Zeit nutzte ich Kubernetes für mein Homelab und habe damit einige Dinge gelernt. Die Umgebung hat auch Spaß gemacht, wurde mir aber irgendwann zu anstrengend zu administrieren. Ich setze Kubernetes nicht in meinem normalen Berufsleben ein, sodass mir häufig die Übung fehlt. Und daheim: Nunja, ist ja eher ein Homeprod als ein Homelab. Was ich in der ganzen Zeit aber super fand ist das GitOps Prinzip. Es machte die Pflege von Versionen einfach ohne mal wieder in einen riesen breaking change gelaufen zu sein der &ldquo;alles kaputt macht&rdquo;.</p><aside class="callout callout-info" role="note" aria-label="Hinweis"><svg class="callout-icon" aria-hidden="true" focusable="false" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg><div class="callout-content"><p class="callout-title">Hinweis</p><div class="callout-body"><strong>GitOps</strong> ist ein Ansatz, bei dem Git als Single Source of Truth für die gesamte Infrastruktur- und Anwendungs­konfiguration dient. Änderungen werden über Pull Requests versioniert und automatisiert von CI/CD-Pipelines oder Deploy-Operatoren (z. B. Argo CD, Flux) in die Zielumgebungen übernommen. Dadurch werden Deployments reproduzierbarer, auditierbarer und leichter automatisierbar. GitOps fördert zudem konsistente Workflows, die sowohl für Entwickler als auch für Operations-Teams gut nachvollziehbar sind.</div></div></aside><p>Mein Homelab sah also nach dem Weggang von Kubernetes so aus, dass ich diverse VMs für Docker Container hatte und divere LXC für einzelne Anwendungen. Ich hatte die meisten Container mittels<em>:latest</em> Tag versehen um mich so nicht mehr um die Updates großartig kümmern zu müssen. Watchtower hat sich dann um die Updates entsprechend gekümmert. Bei größeren Tools, oder denen häufiger ein breaking change enthalten ist, wie z. B. bei Immich, habe ich die Version gepinnt. Bekomme so aber nicht mehr mit wann ein neues Update erschienen ist. Zumindest nicht, wenn die Software nicht in ihrer Weboberfläche einen erinnert.</p><p>Als ich dann vor einiger Zeit auf Komodo aufmerksam gemacht wurde, haben sich meine Gedanken über mehrere Tage hinweg damit beschäftigt wie ich die Software gut in mein Homelab einbauen kann. Komodo ermöglicht nämlich das GitOps Prinzip bei Docker bzw. Docker Compose Umgebungen.</p><h2 id="das-grundprinzip-meines-homelabs">Das Grundprinzip meines Homelabs<a href="#das-grundprinzip-meines-homelabs" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Nachdem ich mir ein paar Blog Beiträge (z. B.<a href="https://nickcunningh.am/blog/how-to-automate-version-updates-for-your-self-hosted-docker-containers-with-gitea-renovate-and-komodo" target="_blank" rel="noopener noreferrer">den<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
hier) und YouTube Videos (z. B.<a href="https://www.youtube.com/watch?v=O22C8Q1u4fA" target="_blank" rel="noopener noreferrer">das<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
hier) zu Komodo angeguckt habe, war mir klar, dass ich meine Docker Installationen damit verwalten werde. Gerade der Blog Post von Nick hat mich auch dazu gebracht wie das ganze im &ldquo;Backend&rdquo; ggf. aussehen könnte.</p><p>Der Stromverbrauch meines Homelabs hatte sich die ganzen Monate immer so zwischen 120 W und 150 W bewegt. Nichts tragisches für mich, aber ggf wäre auch eine Reduzierung möglich. Zudem hatte ich die ganze Zeit sämtliche Dinge immer auf meinen Unraid Server gesichert. Das wollte ich auch ändern. Ziel war es also alles auf einen Proxmox Host, anstatt vorher drei Kubernetes Nodes, zu bringen. Dazu sollte der Proxmox Backup Server als dedizierte Maschine mit eigenem Stroage bereit stehen. Die NFS implementierung von Unraid ist einfach extrem nervig.</p><p>Des weiteren wollte ich nicht mehr duzende virtuelle Maschinen oder LXC auf dem System am laufen haben, es soll alles etwas verschlankt werden. Allerdings bin und war ich nie ein Fan davon alles in eine VM zu quetschen. Aber das muss jeder für sich selbst entscheiden.</p><h2 id="wie-sieht-mein-homelab-jetzt-aus">Wie sieht mein Homelab jetzt aus?<a href="#wie-sieht-mein-homelab-jetzt-aus" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Mittlerweile habe ich nur zwei Thin Clients am laufen: Einen als Proxmox Host und einen als Proxmox Backup Server. Natürlich mein Unraid NAS noch zusätzlich. Aber auf dem Proxmox Server läuft jetzt alles. Der ist zwar sehr gut ausgelastet, wird aber in der nächsten Zeit noch durch einen Minisforum MS-01 ersetzt. Das hat den Vorteil, dass ich den PVE dann auch via 10 GBit anschließen kann. Perspektivisch würde ich nämlich gerne das Netzwerk etwas aufrüsten.</p><p>Die Fragmentierung meiner virtuellen Systeme hat auch stark nachgelassen. Auch wenn es noch etwas mehr sind als geplant. Manche Systeme lassen sich einfach schwer containerisieren bzw. möchte ich auf Grund von Hardwareressourcennutzung separieren. Im Grundlegenden habe ich vier wichtige virtuelle Maschinen:</p><ol><li>infra01 - Für Infrastruktur relevante Systeme</li><li>docker01 - Für meine ganzen &ldquo;normalen&rdquo; Anwendungen</li><li>media01 - Für alle Anwendungen rund um Bewegbild</li><li>ha01 - Home Assistant</li></ol><p><img src="/selfhosted-setup-2025-mein-neuer-workflow-mit-proxmox-komodo-und-gitops/images/proxmox-uebersicht_hu_ebc2d9bafe5ad3fa.webp" srcset="/selfhosted-setup-2025-mein-neuer-workflow-mit-proxmox-komodo-und-gitops/images/proxmox-uebersicht_hu_c0c0440d57e8c052.webp 384w, /selfhosted-setup-2025-mein-neuer-workflow-mit-proxmox-komodo-und-gitops/images/proxmox-uebersicht_hu_ebc2d9bafe5ad3fa.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Screenshot meines Proxmox Servers" loading="eager" fetchpriority="high" decoding="async" width="768" height="216"/><p>Dazu gesellen sich noch zwei AdguardHome LXC, meine LXC für die Wetterstation und Wetter Webseite sowie Nextcloud (zieht aber auch bald um). Gehen wir mal auf die einzelnen Systeme ein.</p><h3 id="infra01---das-backend-meine-homelabs">infra01 - Das Backend meine Homelabs<a href="#infra01---das-backend-meine-homelabs" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h3><p>Als so ziemlich wichtigste virtuelle Maschine der neuen Infastruktur ist diese VM quasi das Herzstück des ganzen. Hier werden alle relevanten Anwendungen gehostet. Diese Maschine ist aber leider auch gewisser single point of failure. Dadurch das ich kein Cluster mehr betreibe, würde sich der Punkt sonst einfach nur verschieben. Da wir später noch auf den genauen Workflow eingehen werden liste ich euch nur die dortigen Anwendunge einmal auf:</p><ul><li>Traefik: Mein GoTo Reverse Proxy den ich eigentlich überall einsetze (Webseite:<a href="https://traefik.io" target="_blank" rel="noopener noreferrer">https://traefik.io<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
)</li><li>Gitea: Interner GIT Server für sämtliche Konfigurationsdateien (Webseite:<a href="https://about.gitea.com/" target="_blank" rel="noopener noreferrer">https://about.gitea.com/<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
)</li><li>Komodo: Deployment der Container (Webseite:<a href="https://komo.do/" target="_blank" rel="noopener noreferrer">https://komo.do/<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
)</li><li>Uptime-Kuma: Verfügbarkeitsmonitoring der Anwendungen (Webseite:<a href="https://uptimekuma.org/" target="_blank" rel="noopener noreferrer">https://uptimekuma.org/<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
)</li><li>Authentik: Single Sign On für fast alle Anwendungen (Webseite:<a href="https://goauthentik.io/" target="_blank" rel="noopener noreferrer">https://goauthentik.io/<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
)</li><li>Beszel: Lastmonitoring der Systeme (Webseite:<a href="https://beszel.dev/" target="_blank" rel="noopener noreferrer">https://beszel.dev/<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
)</li></ul><h3 id="docker01---anwendungen-des-täglichen-bedarfs">docker01 - Anwendungen des täglichen Bedarfs<a href="#docker01---anwendungen-des-t%c3%a4glichen-bedarfs" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h3><p>Auf dieser VM lasse ich so ziemlich alle Anwendungen laufen die nicht auf die beiden anderen Systeme gehören. Gegebenenfalls wird hier zu einem späteren Zeitpunkt noch mal eine zweite VM hinzu kommen um die Apps ein wenig zu verteilen. Schlussendlich laufen hier die Apps die ich in<a href="/meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/">meiner Top 10 schon verbloggt habe</a>
. Zusätlich aber auch Dinge wie</p><ul><li>Treafik</li><li>AdGuardHome Sync: Synct meine beiden AdGuardHome LXC (Webseite:<a href="https://github.com/bakito/adguardhome-sync" target="_blank" rel="noopener noreferrer">https://github.com/bakito/adguardhome-sync<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
)</li><li>autokuma: Halbautomatisches hinzufügen der Anwendungen zu Uptime Kuma (Webseite:<a href="https://github.com/BigBoot/AutoKuma" target="_blank" rel="noopener noreferrer">https://github.com/BigBoot/AutoKuma<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
)</li><li>beszel-agent: Monitoring Agent für Beszel</li></ul><h3 id="media01---für-das-bewegbild">media01 - Für das Bewegbild<a href="#media01---f%c3%bcr-das-bewegbild" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h3><p>Alle Anwendungen rund um Filme und Serien, bis auf Jellyfin finden sich hier. Jellyfin hat seinen eigenen LXC bekommen um besser auf die iGPU des Hostsystems zugreifen zu können. Zwar sind 99 % aller Medienwiedergaben DirectPlay, aber man weiß ja nie.</p><h2 id="mein-workflow">Mein Workflow<a href="#mein-workflow" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Schlussendlich ist es bis hier hier nicht so wirklich spannend. Einfach nur wie ich die diversen Anwendungen auf diverse virtuelle System aufteile. Spannender wird es aber mit dem eigentlichen Workflow, denn der nutzt wieder das GitOps Prinzip. Da Komodo leider keine verschlüsselten Secrets kann, wollte ich meine compose Dateien nicht mehr auf GitHub hosten, sondern auf meinem eigenen GIT Server. Für diese Zwecke nutze ich schon immer gitea, auch wenn es da mittlerweile diverse Alternativen gibt.</p><p>Ich habe also zwei Repositories auf meinem Git Server erstellt, einen für den docker01 als &ldquo;apps-stack&rdquo; sowie für den media01 als &ldquo;media-stack&rdquo;. Das sind 08-15 compose Dateien ohne weiteren besonderen Konfigurationen. Sobald ich Änderungen pushe wird ein Webhook zu Komodo gesendet. Dieser triggert dort einen Workflow um das Repo zu aktuallisieren und die Änderungen entsprechend auf dem Zielsystem zu deployen. Ich kann über diesen Weg auch dedizierte Konfigurationsdateien mitgeben die einzelne Anwendungen benötigen. So habe ich alles immer zusammen in einem Repo. Dieses Vorgehen gilt, wie geschrieben, für die den docker01 sowie für den media01.
Die Anwendungen auf dem infra01 werden so nicht deployed. Gitea installieren zu können ohne ihn zu haben funktioniert nunmal nicht. Sobald Komodo verschlüsselte Secrets beherrscht würde ich die Dateien sicherlich wieder auf GitHub auslagern um direkt mit dem Deployment starten zu können.</p><h2 id="update-management-der-container">Update Management der Container<a href="#update-management-der-container" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>In meinen Compose Dateien versuche ich Container zu verwenden deren Entwickler semver verwendet. Damit habe ich es einfacher die Container leichter zu updaten. Okay, eigentlich habe ICH es nicht einfacher, sondern Renovate. Renovate habe ich auch bereits in meinem Kubernetes Cluster verwendet, damals als SaaS jetzt auch selfhosted. Renovate läuft alle vier Stunden per cronjob und überprüft ob es in den angebenen Container Registry eine neuere Version gibt. Sobald das der Fall ist, erstellt mir der Service einen Pull Request in dem jeweilgen Repository. Diesen kann ich dann entsprechend aktzeptieren und der o. a. Workflow wird getriggert.</p><p><img src="/selfhosted-setup-2025-mein-neuer-workflow-mit-proxmox-komodo-und-gitops/images/renovate-pull-request-beispiel_hu_ec0696737f1b0236.webp" srcset="/selfhosted-setup-2025-mein-neuer-workflow-mit-proxmox-komodo-und-gitops/images/renovate-pull-request-beispiel_hu_245ad6a9db0fd2b7.webp 384w, /selfhosted-setup-2025-mein-neuer-workflow-mit-proxmox-komodo-und-gitops/images/renovate-pull-request-beispiel_hu_ec0696737f1b0236.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="gitea pull request beispiel" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="467"/><p>Sollte eine Anwendung extrem häufig eine neue Version veröffentlichen, kann ich natürlich auch ein automatisches commit erstellen, dann muss ich nicht mehr händisch eingreifen. Auf der anderen Seite kann z. B. Postgres bei Upgrades auf neue Versionen unschön werden. Derzeit wird es noch nicht unterstützt, dass die Datenbank einfach auf die neue Version gehoben wird, wie das bei MySQL oder MariaDB der Fall ist. Entsprechend schließe ich die Postgres Container von Renovate aus und belasse sie derzeit auf Version 17.</p><h2 id="backup-und-restore">Backup und Restore<a href="#backup-und-restore" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Im vorherigen Proxmox Cluster habe ich Unraid als NFS Storage eingebunden und darauf meine Backups gespeichert. Auch mit dem Proxmox Backup Server als virtuelle Maschine hatte ich eine Zeit lang dieses Vorgehen. Wie du Unraid NFS Shares als Ziel im Proxmox Backup Server einbindest, kannst du in<a href="/proxmox-backup-server-auf-unraid-via-nfs-sichern/">diesem</a>
Beitrag lesen.</p><p>Weiter oben habe ich bereits erwähnt, dass ich nun einen dedizierten PBS einsetze. Dieser ist mit einer 1 TB großen SSD ausgestattet auf dem ich meine Backups speichere. Zuküftig möchte ich noch ein Backupsatz außer Haus speichern, weil ich sonst das 3-2-1-Prinzip nicht einhalten kann und mir das schon wichtig ist.</p><aside class="callout callout-info" role="note" aria-label="Hinweis"><svg class="callout-icon" aria-hidden="true" focusable="false" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg><div class="callout-content"><p class="callout-title">Hinweis</p><div class="callout-body">Das<strong>3-2-1</strong>-Backup-Prinzip beschreibt eine einfache Strategie, um Daten zuverlässig zu schützen. Dabei existieren<strong>3</strong> Kopien der Daten, gespeichert auf<strong>2</strong> unterschiedlichen Medien, wobei<strong>1</strong> Kopie extern (z. B. Offsite oder in der Cloud) aufbewahrt wird. Dieses Vorgehen reduziert das Risiko von Datenverlust durch Hardwarefehler, menschliche Fehler oder Katastrophen erheblich. Es gilt als bewährter Standard für sichere und robuste Backup-Konzepte.</div></div></aside><h2 id="fazit">Fazit<a href="#fazit" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Das Setup läuft jetzt noch nicht so lange, fühlt sich für mich aber stabiler und kompletter an. Zudem habe ich die Updates der Anwendungen wieder besser im Griff. Allerdings muss ich mich noch um die Updates für die Betriebssysteme kümmern. Dazu werde ich mir sicherlich ein Ansible Playbook schreiben dass das für mich vereinfachen wird. Solltest du Fragen oder Anregungen zu irgendwelchen Punkten haben, kontaktiere mich einfach über die Wege oben in der Menüleiste.</p>
]]></content:encoded><category>selfhosted</category><category>proxmox</category><category>komodo</category><category>gitops</category><category>gitea</category></item><item><title>Meine Top 10 Selfhosted &amp; Homelab Software 2025 – Lieblings-Tools fürs neue Jahr</title><link>https://www.teqqy.de/meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/</link><pubDate>Mon, 13 Oct 2025 17:20:00 +0100</pubDate><lastBuildDate>Mon, 13 Oct 2025 17:20:00 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/</guid><description>Wie in den Jahren 2021 und 2024 möchte ich auch dieses Jahr wieder eine Liste mit meinen Lieblingssoftwareprodukten verbloggen. Ich finde solche Beiträge immer sehr interessant, weil man dort oft kleine Schätze entdeckt. Zumeist – so ehrlich muss man wohl sein – finden sich aber häufig die altbekannten Produkte in solchen Listen. Nichtsdestotrotz werden dieses Jahr sicherlich drei selfhosted Produkte dabei sein, die nicht jeder von euch kennen wird.
Platz 10: Wanderer Beginnen möchte ich die Liste mit der App Wanderer (externer Link) . Hier kannst du deine Wanderrouten sammeln – quasi ein Komoot fürs Selfhosting. Leider kann die App selbst keine Routen aufzeichnen, aber mittels GPX, Strava oder Komoot lassen sich deine Touren importieren und dort verwalten. Außerdem kannst du sie mit weiteren Informationen anreichern.</description><content:encoded>&lt;![CDATA[<p>Wie in den Jahren<a href="/2021-11-meine-top-10-homelab-services/">2021</a>
und<a href="/meine-top-10-homelab-services-2024/">2024</a>
möchte ich auch dieses Jahr wieder eine Liste mit meinen Lieblingssoftwareprodukten verbloggen. Ich finde solche Beiträge immer sehr interessant, weil man dort oft kleine Schätze entdeckt. Zumeist – so ehrlich muss man wohl sein – finden sich aber häufig die altbekannten Produkte in solchen Listen. Nichtsdestotrotz werden dieses Jahr sicherlich drei selfhosted Produkte dabei sein, die nicht jeder von euch kennen wird.</p><h2 id="platz-10-wanderer">Platz 10: Wanderer<a href="#platz-10-wanderer" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Beginnen möchte ich die Liste mit der App<a href="https://wanderer.to" target="_blank" rel="noopener noreferrer">Wanderer<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
. Hier kannst du deine Wanderrouten sammeln – quasi ein<em>Komoot fürs Selfhosting</em>. Leider kann die App selbst keine Routen aufzeichnen, aber mittels GPX, Strava oder Komoot lassen sich deine Touren importieren und dort verwalten. Außerdem kannst du sie mit weiteren Informationen anreichern.</p><p>Seit einem der letzten Updates kannst du deine neuen Aktivitäten im Fediverse mit anderen teilen. So lassen sich schnell neue Routen von Menschen auf der ganzen Welt entdecken.</p><p>Ich mag die Software, weil ich nach der Übernahme und der Preiserhöhung bei Komoot keine Lust mehr auf die App hatte und nach Alternativen gesucht habe. Wenn ich wandern gehe, logge ich die Route mit Strava und importiere sie anschließend in Wanderer.</p><h2 id="platz-9-nextcloud">Platz 9: Nextcloud<a href="#platz-9-nextcloud" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p><a href="https://nextcloud.com" target="_blank" rel="noopener noreferrer">Nextcloud<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
ist eigentlich eine Software, zu der man kaum noch etwas sagen muss. Es ist bei mir eine Art Hassliebe: Zum einen ist Nextcloud für ein bisschen Dateiablage völlig überdimensioniert, auf der anderen Seite lassen sich hier schnell und einfach viele kleine Apps einbinden. Es gibt zahlreiche Alternativen, aber am Ende bin ich doch immer wieder bei Nextcloud gelandet.</p><p>In meinem<a href="https://teqqy.de/tags/homelab/" target="_blank" rel="noopener noreferrer">Homelab<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
läuft mittlerweile die All-in-one-Installation. Diese ist bei mir stabiler als eine normale Docker-Compose-Variante oder gar eine manuelle Installation. Zugegeben: Ich nutze Nextcloud aktuell nur für Kalender und Dateiablage – andere Apps habe ich derzeit nicht dauerhaft im Einsatz.</p><h2 id="platz-8-jellyfin">Platz 8: Jellyfin<a href="#platz-8-jellyfin" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p><a href="https://jellyfin.org" target="_blank" rel="noopener noreferrer">Jellyfin<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
, der allseits bekannte Mediaplayer. Was für mich der Unterschied zum Platzhirsch Plex ist, habe ich schon in einem älteren<a href="/plex-vs-jellyfin-ein-persoenlicher-vergleich/">Blogartikel</a>
beschrieben. Ich bin mit Jellyfin sehr zufrieden – es macht, was es soll. Und dank fehlender Cloud-Anbindung muss man sich keine Gedanken über Hacks oder Datenlecks machen.</p><p>Jellyfin läuft bei mir als LXC auf meinem Proxmox-Host. Dadurch kann ich einfach auf die iGPU meines Thin Clients zugreifen und spare mir eine dedizierte Grafikkarte für mögliches Transcoding. Allerdings versuche ich ohnehin, meine Medien so vorzuhalten, dass kein Transkodieren notwendig ist.</p><h2 id="platz-7-freshrss">Platz 7: FreshRSS<a href="#platz-7-freshrss" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Zu<a href="https://freshrss.org" target="_blank" rel="noopener noreferrer">FreshRSS<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
habe ich schon ein paar Mal etwas veröffentlicht. Für mich ist es weiterhin<em>die</em> Software, wenn es um selbst gehostete RSS-Reader geht. FreshRSS aggregiert meine Feeds (die derzeit etwas leer sind), ich lese sie aber nicht direkt dort. Auf meinen Apple-Geräten greife ich mit der App<em>Reeder</em> auf meine Instanz zu – diese Verbindung funktioniert seit jeher absolut zuverlässig.</p><h2 id="platz-6-mealie">Platz 6: Mealie<a href="#platz-6-mealie" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Wer gerne kocht, kennt das Problem: Rezepte sind überall verteilt, und viele Rezeptseiten sind inzwischen reine Tracking- und Werbeschleudern. Deshalb setze ich auf<a href="https://mealie.io" target="_blank" rel="noopener noreferrer">Mealie<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
und trage dort alle Rezepte ein, die sich lohnen.</p><p><img src="/meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/images/homelab-top-10-mealie_hu_95c28c223c8908f0.webp" srcset="/meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/images/homelab-top-10-mealie_hu_3d62fa16efc667bf.webp 384w, /meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/images/homelab-top-10-mealie_hu_95c28c223c8908f0.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Top 5 Mealie meiner selfhosted Apps 2025" loading="eager" fetchpriority="high" decoding="async" width="768" height="406"/><p>Mealie erkennt sehr zuverlässig die relevanten Informationen auf Rezeptseiten und stellt sie super dar. Teilschritte und Zutaten passe ich häufig manuell an. Inzwischen werden es immer mehr Rezepte – also habe ich angefangen, alles ordentlich zu sortieren, sonst findet man irgendwann nichts mehr.</p><p>Mealie läuft bei mir klassisch als Docker-Container, ohne zusätzliche Datenbank, einfach mit SQLite. Ich habe in den letzten Jahren festgestellt, dass kleine Softwareprodukte oft keine vollwertige Datenbank brauchen. Wichtig ist nur: SQLite-Datenbanken niemals auf ein NFS-Share legen!</p><h2 id="platz-5-immich">Platz 5: Immich<a href="#platz-5-immich" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p><a href="https://immich.app" target="_blank" rel="noopener noreferrer">Immich<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
ist wohl einer der aufstrebenden Sterne am Selfhosted-Himmel. Die Fotoverwaltung läuft einfach extrem gut. Natürlich gibt’s hier und da kleine Problemchen, aber das Entwicklerteam reagiert schnell. Ich habe mich für Immich entschieden, weil viele andere Tools mittlerweile Integrationen dafür anbieten – so lassen sich Fotos oder Alben direkt in anderen Apps anzeigen.</p><p>Eines meiner Highlights ist die<em>Erinnerungen</em>-Funktion. Ähnlich wie bei Facebook (wer noch dort ist, weiß, was ich meine) zeigt Immich Fotos vom selben Datum an. So kann man schön in Erinnerungen schwelgen – zum Beispiel beim 1000. Katzenfoto vor zwei Jahren.</p><p>Die Software ist mir recht wichtig, deshalb läuft sie in einer eigenen VM – allerdings trotzdem als Docker-Container. So habe ich alle Fotos und Daten zentral in einer VM, und Backup sowie Restore sind über Snapshots und Backups deutlich einfacher.</p><h2 id="platz-4-adventure-log">Platz 4: Adventure Log<a href="#platz-4-adventure-log" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p><a href="https://adventurelog.app" target="_blank" rel="noopener noreferrer">Adventure Log<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
war ein Zufallsfund im Subreddit r/selfhosted. Der Entwickler hat die Software dort kurz vorgestellt, und seitdem bin ich Fan.</p><p><img src="/meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/images/homelab-top-10-adventure-log_hu_5480eb4279c6f7e2.webp" srcset="/meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/images/homelab-top-10-adventure-log_hu_e7f4c7adfa94273a.webp 384w, /meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/images/homelab-top-10-adventure-log_hu_5480eb4279c6f7e2.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Top 5 Adventure Log meiner selfhosted Apps 2025" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="406"/><p>Mit Adventure Log kannst du deine Abenteuer (Reisen, Urlaube etc.) planen und tracken. Ein Import aus Wanderer ist inzwischen möglich, andere Quellen leider noch nicht. Für alle, die gerne reisen, aber ein super Tool.</p><p>Hier spielt auch wieder die Immich-Integration eine Rolle: Man kann auf Alben aus Immich verweisen und sie direkt in den jeweiligen Reisen anzeigen.</p><p>Adventure Log ist aktuell die einzige Software, die bei mir über die Proxmox Helper Scripts läuft. Aufgrund des etwas komplexeren Aufbaus wollte ich sie nicht normal installieren – eventuell wechsle ich aber auf die Docker-Version.</p><h2 id="platz-3-statistics-for-strava">Platz 3: Statistics for Strava<a href="#platz-3-statistics-for-strava" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Seit einigen Monaten gehe ich wieder regelmäßig laufen.<strong>Strava</strong> begleitet mich dabei schon seit Jahren.<a href="https://github.com/robiningelbrecht/statistics-for-strava" target="_blank" rel="noopener noreferrer">Statistics for Strava<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
erweitert die Funktionen des Standardaccounts um zusätzliche Auswertungen. Wichtig: Der Entwickler darf laut API-Richtlinien keine Features anbieten, die mit Strava Premium konkurrieren.</p><p><img src="/meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/images/homelab-top-10-statistics-for-strava_hu_5e91518df0bbb186.webp" srcset="/meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/images/homelab-top-10-statistics-for-strava_hu_c99237b20127fada.webp 384w, /meine-top-10-selfhosted-und-homelab-software-2025-lieblings-tools-fuers-neue-jahr/images/homelab-top-10-statistics-for-strava_hu_5e91518df0bbb186.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Top 5 Statistics for Strava meiner selfhosted Apps 2025" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="408"/><p>Trotzdem bekomme ich hier viele spannende Informationen – etwa zu Bestzeiten, Herzfrequenzen und anderen Statistiken. Anfangs lag der Fokus nur auf Radfahren, mittlerweile werden aber viele Ausdauersportarten unterstützt.</p><p>Statistics for Strava läuft ebenfalls als Docker-Container. Etwas schade: Für den Import der Daten und die Generierung der HTML-Dateien ist ein separater Cronjob nötig.</p><p>Wenn du möchtest, kannst du mir gern auf<a href="https://www.strava.com/athletes/4091921" target="_blank" rel="noopener noreferrer">Strava<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
folgen.</p><h2 id="platz-2-mastodon">Platz 2: Mastodon<a href="#platz-2-mastodon" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p><a href="https://joinmastodon.org" target="_blank" rel="noopener noreferrer">Mastodon<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
begleitet mich seit der Übernahme von Twitter durch Musk. Inzwischen haben sich viele weitere Softwareprodukte rund um ActivityPub und das Fediverse entwickelt, die wunderbar mit Mastodon interagieren können. Manchmal gibt’s noch kleine technische Stolpersteine – wie ich in einem meiner letzten<a href="/gotosocial-als-activitypub-server-meine-erfahrungen/">Beiträge</a>
beschrieben habe.</p><p>Trotzdem ist Mastodon mein soziales Netzwerk der Wahl. Ich bin zwar auch auf Bluesky, aber dort kaum aktiv. Der Nachteil (oder vielleicht Vorteil) von Mastodon: Es gibt keine Algorithmen. Man bekommt also keine Account-Vorschläge und findet interessante Menschen etwas schwerer.</p><p>Bei mir läuft Mastodon als Docker-Container auf meinem VPS, auf dem auch dieser Blog gehostet ist. Die Container-Installation macht Updates deutlich einfacher.</p><h2 id="platz-1-proxmox">Platz 1: Proxmox<a href="#platz-1-proxmox" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Die wohl wichtigste Software in meinem Homelab ist definitiv<a href="https://www.proxmox.com" target="_blank" rel="noopener noreferrer">Proxmox<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
. Die Virtualisierungsplattform hält all meine virtuellen Maschinen zusammen und funktioniert seit Jahren ohne nennenswerte Probleme. Mit der integrierten Backup-Software lassen sich granular Dateien wiederherstellen – oder im Zweifel einfach mal eine kaputte Konfiguration aus dem Backup ziehen.</p><p>Damit wäre meine diesjährige Top 10 also komplett. Wie immer war es gar nicht so einfach, die Plätze zu vergeben, denn eigentlich laufen bei mir noch etliche weitere kleine Tools und Dienste, die ebenfalls einen Platz verdient hätten. Aber irgendwo muss man ja eine Grenze ziehen. 😊</p><p>Spannend finde ich jedenfalls, wie sich mein Homelab über die Jahre verändert hat – und das bringt mich direkt zum Fazit.</p><h2 id="fazit--was-sich-seit-2024-verändert-hat">Fazit – was sich seit 2024 verändert hat<a href="#fazit--was-sich-seit-2024-ver%c3%a4ndert-hat" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Wenn ich den Beitrag vom letzten Jahr mit diesem hier vergleiche, zeigt sich ganz gut, wie sich mein Homelab und auch meine Prioritäten verändert haben. 2024 standen noch viele „klassische“ Infrastruktur-Services ganz oben: Home Assistant, Paperless, Minio oder EVCC – also Tools, die man fast schon als Rückgrat eines smarten Zuhauses oder Labors bezeichnen könnte. Dieses Jahr hat sich der Fokus etwas verschoben: weg von reiner Hausautomatisierung und mehr hin zu Dingen, die mir persönlich Freude bereiten.</p><p>Das zeigt sich besonders daran, dass mit Wanderer, Adventure Log oder Statistics for Strava gleich mehrere Selfhosted-Projekte vertreten sind, die sich um Hobbys und Aktivitäten drehen. Ich merke, dass mein Homelab inzwischen nicht mehr nur „funktionieren“ soll, sondern mich auch im Alltag begleiten darf – beim Wandern, Kochen oder Sport.</p><p>Ein paar Klassiker sind geblieben: Nextcloud, Immich und Mastodon haben sich bewährt und laufen zuverlässig weiter. Andere wie Home Assistant oder Paperless-NGX fehlen diesmal, was aber eher daran liegt, dass sie bei mir inzwischen so selbstverständlich geworden sind, dass ich kaum noch darüber nachdenke. Man könnte sagen: Sie sind vom Highlight zum Fundament geworden.</p><p>Spannend finde ich auch, dass viele meiner diesjährigen Favoriten deutlich sozialer geworden sind – sei es durch das Fediverse, gemeinsame Fotoalben oder das Teilen von Aktivitäten. Das Homelab ist also nicht mehr nur mein technisches Spielzeug, sondern verbindet mich auf gewisse Weise mit anderen Menschen, die ähnliche Interessen haben.</p><p>Mal schauen, was 2026 bringt – vielleicht geht’s dann wieder etwas technischer zu, vielleicht auch nicht. Aber eines steht fest: Langweilig wird’s im Homelab garantiert nie.</p>
]]></content:encoded><category>selfhosted</category><category>homelab</category><category>proxmox</category><category>mastodon</category><category>nextcloud</category><category>jellyfin</category></item><item><title>iVentoy PXE Server unter Debian LXC installieren</title><link>https://www.teqqy.de/iventoy-pxe-server-unter-debian-lxc-installieren/</link><pubDate>Wed, 26 Mar 2025 12:00:00 +0100</pubDate><lastBuildDate>Wed, 26 Mar 2025 12:00:00 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/iventoy-pxe-server-unter-debian-lxc-installieren/</guid><description>In meinem Homelab verwende ich einen Kubernetes Cluster der auf Talos als Betriebssystem aufsetzt. Bei einer kompletten Neuinstallation ist es für mich aufwendig immer drei USB Sticks vorzubereiten um dann alle drei Nodes parallel installieren zu können. Also entschied ich mich einen PXE Server bereit zu stellen um die ISO Images aus dem Netzwerk booten zu können.
Es gibt für das Endergebnis verschiedene Wege. Ich habe mich dazu entschlossen iVentoy als PXE Server zu verwenden. Ventoy an sich ist ja sicherlich vielen von euch schon ein Begriff. Damit kann man nämlich USB Sticks erstellen mit mehreren ISO Dateien. iVentoy ist vom gleichen Entwickler und bietet dann die Möglichkeit diese ISO Images aus dem Netzwerk zu booten.</description><content:encoded>&lt;![CDATA[<p>In meinem Homelab verwende ich einen Kubernetes Cluster der auf Talos als Betriebssystem aufsetzt. Bei einer kompletten Neuinstallation ist es für mich aufwendig immer drei USB Sticks vorzubereiten um dann alle drei Nodes parallel installieren zu können. Also entschied ich mich einen PXE Server bereit zu stellen um die ISO Images aus dem Netzwerk booten zu können.</p><p>Es gibt für das Endergebnis verschiedene Wege. Ich habe mich dazu entschlossen iVentoy als PXE Server zu verwenden. Ventoy an sich ist ja sicherlich vielen von euch schon ein Begriff. Damit kann man nämlich USB Sticks erstellen mit mehreren ISO Dateien. iVentoy ist vom gleichen Entwickler und bietet dann die Möglichkeit diese ISO Images aus dem Netzwerk zu booten.</p><p>Ich verwende wo ich nur kann Container, sei es Docker oder, wie in diesem Fall, LXC. Ich benötige hier nicht eine voll aufgeblähte virtuelle Maschine, wenn ein kleiner LXC auf meinem Proxmox Host dafür ausreichend ist.</p><h2 id="was-ist-ein-pxe-server">Was ist ein PXE Server?<a href="#was-ist-ein-pxe-server" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Ein PXE-Server (Preboot Execution Environment) erlaubt es Computern, ein Betriebssystem über das Netzwerk zu starten, ohne dass eine Festplatte oder ein USB-Stick nötig ist. Beim Start fragt der Computer per Netzwerk nach einem Boot-Server. Der PXE-Server antwortet und liefert die nötigen Daten, damit der Computer ein Betriebssystem laden und installieren kann. Das ist nützlich für die automatische Einrichtung vieler Computer.</p><h2 id="lxc-anlegen">LXC anlegen<a href="#lxc-anlegen" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Unter Proxmox könnt ihr ganz normal einen LXC anlegen. Ich verwende in meinem Fall einen priviligierten Container, weil es mir die Sache etwas einfach macht. Wer sehr stark auf Sicherheit wert legt, müsste für einen unpriviligierten Container entsprechend noch Dinge anpassen.
Zudem verwende ich, wie in der Überschrift angegeben, Debian als Betriebssystem. Zum Zeitpunkt der Erstellung dieses Beitrages in Version 11 alias Bookworm. Ggf. sind Anpassungen bei Ubuntu notwendig.
Wenn du den Container also angelegt hast, müsstest du ihn einmal wieder beenden bzw. noch nicht starten. Wir müssen nämlich die Konfiguration noch anpassen, weil wir sonst später auf ein APPARMOR Problem stoßen werden. Also bitte per SSH auf den Proxmox Server verbinden (oder die interne Shell nutzen) und die LXC Datei editieren</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>nano /etc/pve/lxc/&lt;LXC ID&gt;.conf</span></span></code></pre></div></div><p>Die LXC ID siehst du im Proxmox Frontend.
Hier fügen wir am Ende folgendes ein</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>lxc.apparmor.profile: unconfined
lxc.cap.drop:</code></pre></div><p>Nun können wir den Container starten.</p><h2 id="iventoy-installieren">iVentoy installieren<a href="#iventoy-installieren" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Als erstes sollten wir natürlich das System aktualliseren</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt update<span style="color:#ff7b72;font-weight:bold">&amp;&amp;</span> apt upgrade -y</span></span></code></pre></div></div><p>Jetzt benötigen wir bei einem LXC noch diverse Pakete. Bei einer VM könnten diese nicht notwendig sein.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt install libevent-2.1-7 libevent-pthreads-2.1-7 glibc libwim15 libhivex0 wget</span></span></code></pre></div></div><p>Jetzt laden wir uns noch das aktuelle Paket bei<a href="https://github.com/ventoy/PXE/releases" target="_blank" rel="noopener noreferrer">GitHub<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
herunter. Am besten vorher die aktuelle Version kontrollieren.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>wget https://github.com/ventoy/PXE/releases/download/v1.0.20/iventoy-1.0.20-linux-free.tar.gz</span></span></code></pre></div></div><p>Anschließend können wir das Paket entpacken</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>tar xvfz iventoy-1.0.20-linux-free.tar.gz</span></span></code></pre></div></div><p>Ich für meinen Teil packe solche Installationen immer nach<code>/opt</code>, aber das kannst du gerne anpassen. Ich verschiebe also die iVentoy Installation und benenne gleichzeitig den Ordner um</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>mv iventoy-1.0.20-linux-free /opt/pxe</span></span></code></pre></div></div><p>Es sollte bei dir dann ungefähr so aussehen.<img src="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-verzeichnis_hu_4ded0c825b7cbb63.webp" srcset="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-verzeichnis_hu_dc86d0de613e217d.webp 384w, /iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-verzeichnis_hu_4ded0c825b7cbb63.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Verzeichnisausgabe iVentoy" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="128">
Wichtig ist das Verzeichnis<strong>ISO</strong>, weil du dort alle ISO Dateien ablegen muss welche du im Netzwerk verfügbar haben möchtest.</p><h2 id="iventoy-starten-und-einrichten">iVentoy starten und einrichten<a href="#iventoy-starten-und-einrichten" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Nun können wir das Programm starten</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>./iventoy.sh start</span></span></code></pre></div></div><p>Du bekommst dann eine Ausgabe unter welcher PID der Prozess läuft und wie du auf die Webseite zugreifen kannst.
Wir rufen also die iVentoy Seite einmal mit der IP deines Containers sowie Port 26000 auf und bekommen dann sowas angezeigt<img src="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-webseite_hu_115929964182793b.webp" srcset="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-webseite_hu_48d9b48a0899ea46.webp 384w, /iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-webseite_hu_115929964182793b.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="iVentoy Seite" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="408">
Nun hängt es wieder ein bisschen von deiner Wunschkonfiguration ab. Ich möchte den DHCP Server von iVentoy nicht verwenden, sondern den meines Unifi Gateways. Wenn du einen (für iVentoy) externen DHCP Server verwenden möchtest, gehst du links auf<strong>Configuration</strong> und stellst bei<strong>Server Mode</strong> auf<strong>External</strong>. Etwas oben drüber dann auf speichern klicken.
Unter<strong>Image Management</strong> kannst du die ISO Dateien sehen welche du ggf. vorher schon abgelegt hast. Andernfalls kannst du auf der rechten Seite auch per drag and drop eine neue hochladen.</p><p>Zu guter letzte müssen wir den Server &ldquo;nochmal&rdquo; starten. Unter<strong>Boot Information</strong> ist rechts ein Play-Button der grün hinterlegt ist. Den musst du unbedingt anklicken, sonst funktioniert es nicht.</p><p>Wenn du jetzt ein System mit der Bootoption Netzwerk am Anfang startest erwartet dich dann solch eine Anzeige<img src="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-network-boot_hu_6066bc81f12c2be2.webp" srcset="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-network-boot_hu_4368975849f3c1d0.webp 384w, /iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-network-boot_hu_6066bc81f12c2be2.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="iventoy Netzwerk boot" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="476"/>
]]></content:encoded><category>selfhosted</category><category>pxe</category><category>proxmox</category><category>linux</category></item><item><title>Proxmox Backup Server auf UnRaid via NFS sichern</title><link>https://www.teqqy.de/proxmox-backup-server-auf-unraid-via-nfs-sichern/</link><pubDate>Fri, 15 Mar 2024 11:45:00 +0100</pubDate><lastBuildDate>Fri, 15 Mar 2024 11:45:00 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/proxmox-backup-server-auf-unraid-via-nfs-sichern/</guid><description>Der Proxmox Backup Server ist eine eigenständige Software mit dem man sein Proxmox Server besser sichern kann. Dieser bietet diverse weitere Features wie Einzeldateiwiederherstellung. Wenn du ein bisschen mehr wissen möchtest, empfehle ich dir mein Video dazu.
YouTube Video YouTube &amp;middot; Klicken zum Laden In dieser Anleitung soll es aber darum gehen wie man beim Proxmox Backup Server eine NFS Freigabe hinzufügen kann. Da ich UnRaid als NAS System derzeit verwende bin ich hier direkt auf weitere Fehler gestoßen. Grund genug alles zusammen in einen Blogbeitrag zu verfassen. Vielleicht stößt jemand anderes auch auf dieses Problem.</description><content:encoded>&lt;![CDATA[<p>Der Proxmox Backup Server ist eine eigenständige Software mit dem man sein Proxmox Server besser sichern kann. Dieser bietet diverse weitere Features wie Einzeldateiwiederherstellung. Wenn du ein bisschen mehr wissen möchtest, empfehle ich dir mein Video dazu.</p><div class="video-embed" data-src="https://www.youtube-nocookie.com/embed/ckq4ux-ZSvU?autoplay=1&rel=0"><button class="video-embed-trigger" type="button" data-umami-event="Video Load" data-umami-event-provider="YouTube" data-umami-event-id="ckq4ux-ZSvU"><svg class="video-embed-play-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="48" height="48"><circle cx="12" cy="12" r="12" fill="rgba(0,0,0,0.6)"/><path d="M9.5 7.5l7 4.5-7 4.5V7.5z" fill="white"/></svg><span class="video-embed-title">YouTube Video</span><span class="video-embed-note">YouTube &middot; Klicken zum Laden</span></button></div><p>In dieser Anleitung soll es aber darum gehen wie man beim Proxmox Backup Server eine NFS Freigabe hinzufügen kann. Da ich UnRaid als NAS System derzeit verwende bin ich hier direkt auf weitere Fehler gestoßen. Grund genug alles zusammen in einen Blogbeitrag zu verfassen. Vielleicht stößt jemand anderes auch auf dieses Problem.</p><h2 id="nfs-freigabe-in-unraid-anlegen">NFS Freigabe in Unraid anlegen<a href="#nfs-freigabe-in-unraid-anlegen" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>In Unraid legen wir uns zuerst eine Freigabe an. In dieser Anleitung heißt die Freigabe<em>proxmox</em>. Das ist für die weiteren Schritte wichtig zu wissen. Ich empfehle die Backups erst auf dem Cache Array zu speichern und dann per. Mover auf das eigentliche Array verschieben zu lassen. So sind die Backups deutlich schneller erstellt.
Wenn die Freigabe angelegt ist, möchte wir diese natürlich via NFS publizieren. Also stellen wir<strong>Exportieren</strong> auf<strong>ja</strong>. Anschließend müssen wir die<strong>Sicherheit</strong> von<strong>Öffentlich</strong> auf<strong>privat</strong> umstellen. Das ist wichtig, da wir sonst keine besonderen NFS Export Parameter mitgeben können. In dem Feld<strong>Regel</strong> Tragen wir dann folgendes ein:</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>192.168.10.19/24(sec=sys,rw,insecure,anongid=100,anonuid=99,no_root_squash)</code></pre></div><p>Die IP-Adresse am Anfang muss auf die IP-Adresse deines Promox Backup Servers angepasst werden. Natürlich könntest du auch das ganze Netz frei geben, ist aber aus Sicherheitsgründen nicht empfohlen.</p><p><img src="/proxmox-backup-server-auf-unraid-via-nfs-sichern/images/pbs-unraid-share-unraid-share_hu_884b46f29ebad30d.webp" srcset="/proxmox-backup-server-auf-unraid-via-nfs-sichern/images/pbs-unraid-share-unraid-share_hu_bd42855b88ffa86f.webp 384w, /proxmox-backup-server-auf-unraid-via-nfs-sichern/images/pbs-unraid-share-unraid-share_hu_884b46f29ebad30d.webp 768w, /proxmox-backup-server-auf-unraid-via-nfs-sichern/images/pbs-unraid-share-unraid-share_hu_294c53ffd3badffb.webp 1536w" sizes="(max-width: 768px) 100vw, 768px" alt="Unraid NFS Share Einstellungen" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="154"/><h2 id="pbs-nfs-freigabe-einrichten">PBS NFS Freigabe einrichten<a href="#pbs-nfs-freigabe-einrichten" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Nun können wir uns um den Proxmox Backup Server kümmern. Diesen Part habe ich ebenfalls mal in einem Video fest gehalten. Falls du also lieber das schauen möchtest. Andernfalls lies gerne weiter.</p><div class="video-embed" data-src="https://www.youtube-nocookie.com/embed/fOMzkReoaBI?autoplay=1&rel=0"><button class="video-embed-trigger" type="button" data-umami-event="Video Load" data-umami-event-provider="YouTube" data-umami-event-id="fOMzkReoaBI"><svg class="video-embed-play-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="48" height="48"><circle cx="12" cy="12" r="12" fill="rgba(0,0,0,0.6)"/><path d="M9.5 7.5l7 4.5-7 4.5V7.5z" fill="white"/></svg><span class="video-embed-title">YouTube Video</span><span class="video-embed-note">YouTube &middot; Klicken zum Laden</span></button></div><p>Wir müssen uns per SSH mit dem Server verbinden. Anschließend überprüfen wir ob der NFS Client installiert ist bzw. installieren ihn direkt.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt install nfs-common</span></span></code></pre></div></div><p>Bei mir war er schon installiert, aber sicher ist sicher. Anschließend wollen wir die NFS Freigabe vom Unraid Server mounten. In Linux werden Freigaben normalerweise nach<em>/mnt</em> gelegt. Also erstellen wir uns dort drin ein Verzeichnis in dem wir das NAS mounten.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>mkdir -p /mnt/nfs-backup</span></span></code></pre></div></div><p>Du kannst natürlich den Part<em>nfs-backup</em> umbenennen. Passe nur den Rest der Anleitung entsprechend an deine Umgebung an.</p><p>Nun mounten wir die Freigabe mit</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>mount -t nfs 192.168.10.21:/mnt/user/proxmox /mnt/nfs-backup</span></span></code></pre></div></div><p>Die IP-Adresse musst du natürlich auf die IP-Adresse deines Unraid Servers anpassen. Hier sollte natürlich kein Fehler auftreten. Wenn das der Fall sein sollte, überprüfe ob die Freigabe und der Ordner korrekt angelegt worden sind.
Damit die Freigabe auch nach dem Neustart vom PBS wieder funktioniert sollten wir das permanent machen. Dazu editieren wir die<strong>/etc/fstab</strong> Datei</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>nano /etc/fstab</span></span></code></pre></div></div><p>Und fügen am Ende folgende Zeile ein:</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">conf</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="conf"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code class="language-conf" data-lang="conf">192.168.10.21:/mnt/user/proxmox /mnt/nfs-backup nfs rw 0 0</code></pre></div><h2 id="berechtigungen-der-freigabe-anpassen">Berechtigungen der Freigabe anpassen<a href="#berechtigungen-der-freigabe-anpassen" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Der Proxmox Backup Server erstellt die Sicherungen mit dem Nutzer<strong>backup</strong> und der UUID/GUID<strong>34</strong>. Da dies nicht zu der Freigabe von Unraid passt, müssen wir die ändern. Ich habe festgestellt, dass es am einfachsten ist, wenn wir in der Freigabe einen weiteren Ordner anlegen und dem die notwendigen Berechtigungen geben.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>mkdir -p /mnt/nfs-backup/backups</span></span></code></pre></div></div><p>Auch hier kannst du das gerne an deine Gegebenheiten anpassen. Anschließend ändern wir den Besitzer des Ordners</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>chown backup:backup /mnt/nfs-backup/backups</span></span></code></pre></div></div><p>Sollte hier ein Fehler auftreten mit<em>Operation not permitted</em> hast du ggf. die Anleitung oben zu Unraid vergessen. Die NFS Export Parameter sind nämlich hier entscheidend.</p><h2 id="datastore-im-proxmox-backup-server-hinzufügen">Datastore im Proxmox Backup Server hinzufügen<a href="#datastore-im-proxmox-backup-server-hinzuf%c3%bcgen" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Jetzt können wir endlich die Freigabe auch im PBS hinzufügen. Dazu verbinden wir uns zur PBS GUI und wählen links unter<strong>Datastore</strong><strong>Add Datastore</strong> aus.
Den Namen kannst du natürlich frei vergeben. Als<strong>Backing Path</strong> kommt der Pfad der Freigabe rein. In unserem Fall<em>/mnt/nfs-backup/backups</em>
Solltest du den angepasst haben, bitte entsprechend hier auch tun. Die restlichen Parameter kannst du nach belieben einstellen.</p><p><img src="/proxmox-backup-server-auf-unraid-via-nfs-sichern/images/pbs-unraid-share-pbs-datastore_hu_67b0429040f4da0c.webp" srcset="/proxmox-backup-server-auf-unraid-via-nfs-sichern/images/pbs-unraid-share-pbs-datastore_hu_8091a92e986078f7.webp 384w, /proxmox-backup-server-auf-unraid-via-nfs-sichern/images/pbs-unraid-share-pbs-datastore_hu_67b0429040f4da0c.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="PBS Datastore Einstellungen" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="297"/><p>Sollte hier ein Fehler auftreten wird der Backup-Nutzer nicht in das Verzeichnis schreiben dürfen. Überprüfe nochmal die Berechtigungen des Pfades.</p><p>Der Proxmox Backup Server legt nach dem Bestätigen die ganzen Chunks an. Dies kann je nach Performance des Netzwerkes oder des Unraid Servers zwischen ein paar Sekunden und ein paar Minuten dauern. Anschließend kannst du den Datastore zu Proxmox hinzufügen und deine Backups erstellen.</p>
]]></content:encoded><category>selfhosted</category><category>proxmox</category><category>backup</category><category>unraid</category></item><item><title>Proxmox: Stromverbrauch senken mit 4 praxisbewährten Tipps</title><link>https://www.teqqy.de/proxmox-strom-sparen-4-tipps-von-mir/</link><pubDate>Tue, 14 Mar 2023 21:17:37 +0100</pubDate><lastBuildDate>Tue, 14 Mar 2023 21:17:37 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/proxmox-strom-sparen-4-tipps-von-mir/</guid><description>In Zeiten steigender Energiekosten und wachsender Umweltbewusstheit suchen viele von uns nach Wegen, um den Stromverbrauch in der IT-Infrastruktur zu senken. Gerade in Heimnetzwerken und bei kleinen Servern, die rund um die Uhr laufen, kann der Energiebedarf schnell zu einer nicht unerheblichen Kostenquelle werden. Wenn du, wie ich, Proxmox nutzt, ein Open-Source-Tool zur Virtualisierung, gibt es glücklicherweise einige effektive Möglichkeiten, den Stromverbrauch deines Setups zu optimieren, ohne dabei auf Leistung zu verzichten.</description><content:encoded>&lt;![CDATA[<p>In Zeiten steigender Energiekosten und wachsender Umweltbewusstheit suchen viele von uns nach Wegen, um den Stromverbrauch in der IT-Infrastruktur zu senken. Gerade in Heimnetzwerken und bei kleinen Servern, die rund um die Uhr laufen, kann der Energiebedarf schnell zu einer nicht unerheblichen Kostenquelle werden. Wenn du, wie ich, Proxmox nutzt, ein Open-Source-Tool zur Virtualisierung, gibt es glücklicherweise einige effektive Möglichkeiten, den Stromverbrauch deines Setups zu optimieren, ohne dabei auf Leistung zu verzichten.</p><p>In diesem Blogbeitrag teile ich vier erprobte Tipps, mit denen du deine Proxmox-Installation energieeffizienter gestalten kannst. Dabei geht es nicht nur um Hardware-Anpassungen, sondern auch um clevere Software-Optimierungen, die deine VMs und Container energieeffizienter machen. Egal, ob du ein erfahrener Proxmox-Nutzer bist oder gerade erst mit der Plattform beginnst, diese Tipps helfen dir, deine Stromrechnung zu senken und gleichzeitig einen kleinen Beitrag zum Umweltschutz zu leisten. Lass uns direkt loslegen und schauen, wie du aus deinem Proxmox-Server mehr Effizienz herausholen kannst!</p><h2 id="vorab-stromverbrauch-messen">Vorab: Stromverbrauch messen<a href="#vorab-stromverbrauch-messen" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Um überhaupt zu wissen wieviel Strom die Geräte verwenden sollte man diesen auch messen. Es kommt hierbei nicht auf gute Genauigkeit an, sondern um einfach mal ein Gefühl zu bekommen wieviel Strom die einzelnen Geräte so verbrauchen. Hierzu kann man sich ein<a href="https://amzn.to/3mQVYy9" target="_blank" rel="noopener noreferrer">günstiges Strommessgerät<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
anschaffen. Beachte bitte, das bei günstigen Geräten die Genauigkeit natürlich nicht unbedingt vorhanden ist. Wer ein Smart Home sein eigen nennt, kann direkt eine Steckdose mit Strommessfunktion vor das Homelab anschließen. So hast du mittels Software immer den aktuellen Stromverbrauch.</p><h2 id="auf-die-richtige-hardware-achten">Auf die richtige Hardware achten<a href="#auf-die-richtige-hardware-achten" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Natürlich steht und fällt schlussendlich alles mit der richtigen Hardware. Alte Enterprise Hardware verbraucht natürlich viel Strom. Entsprechen sind so genannte ThinClients eine sehr gute Lösung einen energieeffizienten Server zu bauen. Ich habe diese mal in einem Video vorgestellt.</p><p>Zudem kann man auch mit den richtigen Komponenten im Selbstbau einen guten Server zusammen stellen. Im<a href="https://www.hardwareluxx.de/community/threads/die-sparsamsten-systeme-30w-idle.1007101/page-86#post-29774572" target="_blank" rel="noopener noreferrer">Hardwareluxx Forum<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
gibt es eine verlinkte Google Sheets Datei die Systeme unter 30 Watt idle Verbrauch auflistet.</p><p>Wichtig ist auch, dass bei einem selbst zusammen gestelltem PC bzw. Server es auf alle Komponenten ankommt. Es fängt bei einem effizienten Netzteil an, geht über ein gutes Mainboard bishin zur richtigen Auswahl der CPU. Gerade bei letzterem ist es so, dass Intel noch ein wenig die Nase vorne hat was einen günstigeren Stromverbrauch im idle Status angeht. Wichtig ist auch, dass Intel-CPUs mit einem &ldquo;T&rdquo; in der Bezeichnung nur eine geringere TDP haben. Der TDP nat erst mal nichts mit dem Stromverbrauch zu tun sondern ist die maximale Wärmeabgabe. Eine T-CPU ist also für Systeme geeignet die vollständig passiv laufen sollen. Koponenten die eher für einen hohen Stromverbrauch sprechen wären</p><ul><li>Grafikkarten</li><li>RAID Controller / HBAs</li><li>Netzwerkkarten mit mehr als 10 GBit Geschwindigkeit</li></ul><p>Weiter unten den dem Beitrag gehe ich auf den ASPM Status ein. ASPM (Active State Power Management) bedeutet dass eine Komponente bestimmte Stromsparfunktionen erreichen kann oder nicht. Ganz grob lässt sich hier sagen, dass Enterprise-Hardware meistens nicht mit diesen Funktionen ausgestattet sind.</p><h2 id="bios-einstellungen-richtig-setzen">BIOS Einstellungen richtig setzen<a href="#bios-einstellungen-richtig-setzen" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><h3 id="unnötige-hardware-deaktivieren">Unnötige Hardware deaktivieren<a href="#unn%c3%b6tige-hardware-deaktivieren" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h3><p>Die meisten BIOS können verschiedene Geräte abschalten. Bei einem Virtualisierungshost wird zum Beispiel Audio häufig nicht gebraucht. Es wäre also dann ratsam die Soundkarte im BIOS zu deaktivieren. Ähnliches gilt für COM oder serielle Ports. Solltest du keine Grafikkarte oder andere Steckkarte die einen hohen PCI-Express Standard benötigt eingebaut haben, könntest du auch die PCIe Steckplätze z. B. von Version 4 auf 3 reduzieren. Auch dies spart gern mal das eine oder andere Watt.</p><h3 id="aspm-aktivieren">ASPM aktivieren<a href="#aspm-aktivieren" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h3><p>ASPM steht für Active State Power Management und ist eine Technologie, die in Computern verwendet wird, um die Energieeffizienz von PCIe-Verbindungen zu verbessern. PCIe ist ein Hochgeschwindigkeits-Interface, das in Computern genutzt wird, um verschiedene Hardwarekomponenten wie Grafikkarten, Netzwerkkarten oder SSDs anzuschließen. ASPM zielt darauf ab, den Stromverbrauch von PCIe-Geräten zu reduzieren, indem es den Energieverbrauch in den Verbindungsleitungen zwischen der CPU (oder dem Chipsatz) und den angeschlossenen PCIe-Geräten dynamisch anpasst. Dies geschieht durch das automatische Umschalten zwischen verschiedenen Leistungszuständen, abhängig von der Auslastung und den aktuellen Anforderungen.</p><h3 id="cpu-stromsparfunktionen-aktivieren">CPU Stromsparfunktionen aktivieren<a href="#cpu-stromsparfunktionen-aktivieren" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h3><p>Aktiviere im BIOS immer die C-States. Je nach Hersteller und Version solltest du bis zu C10 aktivieren können. Sei aber beruhigt wenn dein BIOS nur bis z. B. C6 konfigurierbar ist, viel Potential lässt du damit nicht liegen.</p><h2 id="c-states">C-States<a href="#c-states" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><h3 id="was-sind-c-states">Was sind C-States<a href="#was-sind-c-states" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h3><p>C-States, oder CPU-Schlafzustände, sind Zustände, in die eine CPU (Central Processing Unit, oder Zentraleinheit) eintreten kann, wenn sie nicht aktiv genutzt wird. Sie sind ein Teil der Leistungssteuerungsfunktionen moderner CPUs und dienen dazu, den Stromverbrauch zu reduzieren, wenn die volle Leistung der CPU nicht benötigt wird.</p><p>Es gibt verschiedene C-States, von C0 bis Cn (wobei n je nach Prozessor variiert). Hier sind einige der häufigsten:</p><ul><li>C0: Dies ist der Zustand, in dem die CPU aktiv ist und Aufgaben ausführt.</li><li>C1: Dies ist ein leichter Schlafzustand, in dem die CPU schnell in den aktiven Zustand zurückkehren kann. In diesem Zustand ist die CPU nicht aktiv, aber sie kann schnell wieder in den Betrieb versetzt werden.</li><li>C3: Dies ist ein tieferer Schlafzustand, in dem die CPU mehr Zeit benötigt, um in den aktiven Zustand zurückzukehren. In diesem Zustand werden mehr Teile der CPU abgeschaltet, was zu größerer Energieeinsparung führt.</li><li>C6: Dies ist ein noch tieferer Schlafzustand, in dem die CPU fast vollständig abgeschaltet wird. Die CPU benötigt die längste Zeit, um aus diesem Zustand wieder in den aktiven Zustand zurückzukehren, aber es wird auch die meiste Energie gespart.</li></ul><p>Der Wechsel zwischen diesen Zuständen wird automatisch vom Betriebssystem und der Hardware gesteuert, basierend auf der aktuellen CPU-Last und den Energieeinstellungen des Systems.</p><p>Anstreben sollte man immer den C10 Status. Bei einem Proxmox Server wirst du das aber wahrscheinlich nicht schaffen. Das System ist ja meistens dafür ausgelegt die ganze Zeit zu arbeiten. Vor allem wenn man viele virtuelle Maschinen oder LXC laufen lässt.</p><h3 id="mit-powertop-die-c-states-überprüfen">Mit powertop die C-States überprüfen<a href="#mit-powertop-die-c-states-%c3%bcberpr%c3%bcfen" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h3><p>„powertop“ ist ein großartiges<a href="/linux-am-desktop-ein-kurzes-experiment/">Linux</a>
Kommando mit dem du die C-States deines Servers überprüfen kannst. Gehen diese wie in diesem Beispiel nur bis zu C3, wird weiterhin viel Energie „unnötig“ verbraucht.</p><p><img src="/proxmox-strom-sparen-4-tipps-von-mir/images/powertop-c3-states_hu_9dc579a198882aa8.webp" srcset="/proxmox-strom-sparen-4-tipps-von-mir/images/powertop-c3-states_hu_5df20e871831abb8.webp 384w, /proxmox-strom-sparen-4-tipps-von-mir/images/powertop-c3-states_hu_9dc579a198882aa8.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="528"/><p>Häufig sind es PCI-Express Gerät die weitere C-States nicht erlauben. Mit dem Befehl</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>lspci -vv | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:.]+|ASPM )'</code></pre></div><p>kannst du überprüfen ob für ein PCIe Gerät ein Active-State Power Management (ASPM) verfügbar ist. Sollte hier ein disabled dabei stehen, ist entweder die Funktion im BIOS deaktiviert oder das Gerät unterstützt diesen Modus nicht. Gerade ältere Geräte oder Enterprise Hardware wie 10G-Karten können hier ein Problem darstellen.</p><p><img src="/proxmox-strom-sparen-4-tipps-von-mir/images/aspm-status_hu_d270fd4f4d6a2d88.webp" srcset="/proxmox-strom-sparen-4-tipps-von-mir/images/aspm-status_hu_ed468d62ca537b49.webp 384w, /proxmox-strom-sparen-4-tipps-von-mir/images/aspm-status_hu_d270fd4f4d6a2d88.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="250"/><h2 id="cpu-runter-takten-lassen-um-proxmox-strom-sparen-zu-lassen">CPU runter Takten lassen um Proxmox Strom sparen zu lassen<a href="#cpu-runter-takten-lassen-um-proxmox-strom-sparen-zu-lassen" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p><a href="/proxmox-cluster-im-homelab-mit-thinclients/">Proxmox</a>
hat per default sämtliche Stromsparfunktionen deaktiviert. Diese zu aktivieren ist offiziell nicht supportet, aber natürlich funktionieren diese Systeme weiterhin. Bitte beachte, dass diese Funktion auch dazu führen kann, dass das System träger reagiert, weil Komponenten erst aufgeweckt werden müssen.</p><p>Um zu überprüfen auf welchen Modus die CPU steht, kannst du folgenden Befehl nutzen:</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor</code></pre></div><p>Hier bekommst du für jeden CPU-Kern eine Zeile zurück geliefert. Im Standard steht hier überall „performance“. Wenn du jetzt</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq</code></pre></div><p>verwendet, siehst du auf welcher Frequenz deine CPU Kerne derzeit arbeiten. Um diese runter takten zu lassen sollte der „scaling_govenor“ auf „powersafe“ gestellt werden. Das kannst du einmalig mit</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor</code></pre></div><p>durchführen. Allerdings wird berichtet, dass bei Neustart oder Updates das wieder zurück gesetzt wird. Entsprechend habe ich mir den Befehl in die crontab eingetragen, dass dieser Befehl bei jedem reboot durchgeführt wird.</p><p>Dazu gehst du mit</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>crontab -e</code></pre></div><p>in die Crontab Datei. Ggf. wirst du gefragt mit welchem Editor du diese öffnen möchtest. Ich empfehle dir hier „nano“.</p><p>Anschließend trägst du ganz unten folgendes ein</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>@reboot echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor</code></pre></div><p>Die Datei kannst du dann mit STRG+X beenden. Bei Nachfrage ob du speichern möchtest, solltest du das natürlich bestätigen.</p><p>Anschließend kannst du mit den oben genannten Befehlen deine Eingaben überprüfen. Bei mir sieht das zur Zeit so aus:</p><p><img src="/proxmox-strom-sparen-4-tipps-von-mir/images/proxmox-strom-sparen-cpu-govenor_hu_98c2e3cdadd3965e.webp" srcset="/proxmox-strom-sparen-4-tipps-von-mir/images/proxmox-strom-sparen-cpu-govenor_hu_a8821be6864e7158.webp 384w, /proxmox-strom-sparen-4-tipps-von-mir/images/proxmox-strom-sparen-cpu-govenor_hu_98c2e3cdadd3965e.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="574">
Meine derzeitigen Einstellungen des CPU govenor und scaling
{:.figcaption}</p><h2 id="zusatztipp">Zusatztipp<a href="#zusatztipp" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Versuche immer BIOS und alle Treiber auf den aktuellen Stand zu bringen. Auch neue Kernel-Versionen bringen häufig Verbesserungen im Bereich des Stromverbrauches. Es ist also auch hierfür ratsam seine Systeme in einem anständigem Zeitrahmen zu patchen.</p><h2 id="fazit">Fazit<a href="#fazit" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Ich habe diese Dinge selbst beachtet und konnte mit meinem Proxmox Strom sparen. Bei mir konnte ich den Verbrauch meine Servers von 36 Watt auf 24 Watt verringern. Das hört sich zwar erst einmal nicht viel an, sind aber bei uns derzeit auch knapp 52,56 Euro im Jahr. Kleinvieh macht schließlich auch Mist.</p><p>Die geeignet Hardware zu finden ist nicht immer einfach. Du kannst dich oben an der Liste aus dem Hardwareluxx-Forum orientieren. Andernfalls sind die Mitglieder im Unraid Forum (vor allem in deutschen Bereich) auch immer sehr daran interessiert ein paar Watt zu sparen. Hier kannst du auf die Suche nach guten Kombinationen für Hardware ausschau halten. Auch wenn Unraid nicht die typische Software für Virtualisierung ist.</p>
]]></content:encoded><category>proxmox</category><category>hardware</category><category>homelab</category></item><item><title>Proxmox Cluster im Homelab mit Thinclients</title><link>https://www.teqqy.de/proxmox-cluster-im-homelab-mit-thinclients/</link><pubDate>Fri, 30 Dec 2022 14:41:14 +0100</pubDate><lastBuildDate>Fri, 30 Dec 2022 14:41:14 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/proxmox-cluster-im-homelab-mit-thinclients/</guid><description>Wer meinen Blog verfolgt weiß, dass ich seit einiger Zeit einen Kubernetes Cluster verwendet habe. Dieser hat meine ganzen Anwendungen die man so im Homelab braucht gehostet. Nun bin ich auf ein Proxmox (externer Link) Cluster im Homelab mit Thinclients als Hardware umgestiegen.</description><content:encoded>&lt;![CDATA[<p>Wer meinen Blog verfolgt weiß, dass ich seit einiger Zeit einen<a href="/status-meines-k3s-homelab-stand-10-2021/">Kubernetes Cluster</a>
verwendet habe. Dieser hat meine ganzen Anwendungen die man so im Homelab braucht gehostet. Nun bin ich auf ein<a href="https://proxmox.com" target="_blank" rel="noopener noreferrer">Proxmox<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Cluster im Homelab mit Thinclients als Hardware umgestiegen.</p><p>Zum Thema Thinclients und warum diese gerade in jetzigen Zeiten eine gute Alternative für Homelabs sind, habe ich bereits mal ein Video gedreht das vielleicht ganz spannend für dich sein kann.</p><div class="video-embed" data-src="https://www.youtube-nocookie.com/embed/AqLqKMTtbWA?autoplay=1&rel=0"><button class="video-embed-trigger" type="button" data-umami-event="Video Load" data-umami-event-provider="YouTube" data-umami-event-id="AqLqKMTtbWA"><svg class="video-embed-play-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="48" height="48"><circle cx="12" cy="12" r="12" fill="rgba(0,0,0,0.6)"/><path d="M9.5 7.5l7 4.5-7 4.5V7.5z" fill="white"/></svg><span class="video-embed-title">YouTube Video</span><span class="video-embed-note">YouTube &middot; Klicken zum Laden</span></button></div><h2 id="grundsätzlicher-aufbau-des-proxmox-clusters-im-homelab">Grundsätzlicher Aufbau des Proxmox Clusters im Homelab<a href="#grunds%c3%a4tzlicher-aufbau-des-proxmox-clusters-im-homelab" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Mittlerweile nutze ich einen<a href="/proxmox-backup-server/">Proxmox</a>
Cluster über drei physische Nodes. Die Hardware ist zwar leicht unterschiedlich, aber als Gesamtcluster stehen mir damit genug Ressourcen zur Verfügung.</p><p><img src="/proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-overview_hu_f0c618df5ff6a05a.webp" srcset="/proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-overview_hu_85b28b3adfa7a04f.webp 384w, /proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-overview_hu_f0c618df5ff6a05a.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Proxmox Cluster im Homelab mit Thinclients - Cluster Summary" loading="eager" fetchpriority="high" decoding="async" width="768" height="367">
Das Widget für Storage täuscht leider bei Proxmox immer gewaltig. Daruch, dass NFS-Freigaben eingebunden sind, werden diese mitgezählt.</p><p>Als Storage wird für die virtuellen Systeme ein Ceph-Cluster auf den gleichen Systemen ausgeführt. Für ISOs, Templates und Backups wird ein NFS-Storage von meinem<a href="/mein-homelab-dashboard-2022/">UnRaid</a>
Server aus bereit gestellt.</p><p><img src="/proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-ceph_hu_b2ff2b06b6c8943c.webp" srcset="/proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-ceph_hu_6b551e6ca17f0784.webp 384w, /proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-ceph_hu_b2ff2b06b6c8943c.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Proxmox Cluster im Homelab mit Thinclients - Ceph" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="364">
Ein weiteres System dient als<a href="/proxmox-backup-server/">Proxmox Backup Server</a>
und soll sich hier nur um entsprechend dieses kümmern.</p><h2 id="welche-hardware-verwende-ich">Welche Hardware verwende ich?<a href="#welche-hardware-verwende-ich" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Fassen wir erst mal die Hardware des neuen Cluster zusammen, damit du schon mal eine Vorstellung des ganzen hast:</p><ul><li>2 x Lenovo M900 mit Core i3-6100t, 24 GB RAM</li><li>2 x Lenovo M910 mit Core i5-6500t, 24 GB RAM</li></ul><p>Alle vier Systeme sind mit einer 120 GB SATA SSD ausgestattet. Ein i3 sowie beide i5 Systeme haben zusätzlich eine<a href="https://amzn.to/3i35I6o" target="_blank" rel="noopener noreferrer">500 GB NVMe SSD<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
eingebaut.</p><h2 id="die-verwendeten-netzwerkkomponenten">Die verwendeten Netzwerkkomponenten<a href="#die-verwendeten-netzwerkkomponenten" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><h3 id="netzwerkkarten">Netzwerkkarten<a href="#netzwerkkarten" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h3><p>Ich verwende die eingebaute Netzwerkschnittstelle für das normale Management und VM-Netzwerk. Hierauf liegt, wie bei Proxmox üblich, eine Linux Bridge.</p><p>Zusätzlich habe ich mir insgesamt sechs<a href="https://amzn.to/3WYekdr" target="_blank" rel="noopener noreferrer">USB-Netzwerkkarten<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
gekauft die mir in meiner<a href="https://s.teqqy.de/discord" target="_blank" rel="noopener noreferrer">Discord Community<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
empfohlen wurden. Jeweils zwei USB-Karten pro System, eine für das Cluster-Netzwerk und eine für Ceph.</p><p><img src="/proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-usb-nics_hu_67088350f631ee83.webp" srcset="/proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-usb-nics_hu_9cb8d109e81f832f.webp 384w, /proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-usb-nics_hu_67088350f631ee83.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Proxmox USB NICs" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="576"/><h3 id="switch-und-vlans">Switch und VLANs<a href="#switch-und-vlans" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h3><p>Alle drei Netzwerkports hängen an einem<a href="https://www.amazon.de/shop/teqqyde/list/3M2TIB7XEB7CS?ref_=aip_sf_list_spv_ons_mixed_d" target="_blank" rel="noopener noreferrer">UniFi<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
USW-24-G2 Switch. Das Ceph Netzwerk sowie das Cluster Netzwerk haben ihre eigene VLAN erhalten. Dies wurde so gemacht um den Datenverkehr sauber zu trennen. Grundsätzlich kann zwar alles über eine NIC transferiert werden, allerdings ist dann doch ein deutlicher Performanceunterschied zu spüren. Ceph empfiehlt sowieso schon mindestens 10 GBit Netzwerke, besser gar 40 GBit. Für ein Homelab meiner Größe natürlich viel zu überdimensioniert.</p><p><img src="/proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-switchports_hu_7d44f11fa1f57fac.webp" srcset="/proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-switchports_hu_60547606351e821f.webp 384w, /proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-switchports_hu_7d44f11fa1f57fac.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Switchports des Unifi USW-24-G2" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="449"/><h2 id="backup-mittels-proxmox-backup-server">Backup mittels Proxmox Backup Server<a href="#backup-mittels-proxmox-backup-server" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Wie oben bereits erwähnt verwende ich den<a href="https://www.proxmox.com/de/proxmox-backup-server" target="_blank" rel="noopener noreferrer">Proxmox Backup Server<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
als Sicherungsanwendung. Dieser soll, so vom Hersteller empfohlen über lokale Festplatten verfügen. Da mein verwendeter Thinclient aber nicht ausreichend Speicherplatz hat, habe ich mein UnRaid Server angebunden. NFS Shares sind nicht direkt als Storage anlegbar, sondern müssen via mount am System selbst hinzugefügt werden. Anschließend lässt sich das Verzeichnis als Sicherungsziel definieren.</p><p><img src="/proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-backup_hu_c3e77b59c8d53447.webp" srcset="/proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-backup_hu_8f3a1ab24fb0d30d.webp 384w, /proxmox-cluster-im-homelab-mit-thinclients/images/proxmox-cluster-im-homelab-backup_hu_c3e77b59c8d53447.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Proxmox Backup Server Dashboard" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="404">
Als retention policy verwende ich im privaten Bereich eigentlich fast immer</p><ul><li>7 tägliche Sicherungen</li><li>4 wöchentliche Sicherungen</li><li>12 monatliche Sicherungen</li></ul><p>Auf Sicherungen stündlich oder jährlich verzichte ich meist. Lediglich bei ZFS-Snapshots habe ich in der Vergangenheit auf stündliche „Sicherungen“ gesetzt.</p><h2 id="fazit">Fazit<a href="#fazit" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Der Cluster läuft noch nicht so lange. Allerdings habe ich auf ein paar Screenshots auf<a href="https://teqqy.social/@me" target="_blank" rel="noopener noreferrer">Mastodon<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Feedback erhalten, dass man doch gerne mehr wissen möchte. Entsprechend habe ich den aktuellen Status einmal hier zusammen gefasst. Den späteren Endausbau mit den virtuellen Maschinen werde ich sicherlich noch mal präsentieren.</p>
]]></content:encoded><category>proxmox</category><category>homelab</category><category>unifi</category><category>backup</category></item><item><title>Proxmox Backup Server</title><link>https://www.teqqy.de/proxmox-backup-server/</link><pubDate>Thu, 16 Jul 2020 21:05:12 +0200</pubDate><lastBuildDate>Thu, 16 Jul 2020 21:05:12 +0200</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/proxmox-backup-server/</guid><description>Die Proxmox Server (externer Link) Solutions GmbH hat vor einiger Zeit ein neues Produkt auf den Markt gebracht: Proxmox Backup Server. Das sich noch in der Beta-Phase befindliche Produkt soll die interne Backuptechnologie der Virtualisierungslösung Proxmox VE massiv erweitern.</description><content:encoded>&lt;![CDATA[<p>Die<a href="https://pbs.proxmox.com/wiki/index.php/Main_Page" target="_blank" rel="noopener noreferrer">Proxmox Server<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Solutions GmbH hat vor einiger Zeit ein neues Produkt auf den Markt gebracht: Proxmox Backup Server. Das sich noch in der Beta-Phase befindliche Produkt soll die interne Backuptechnologie der Virtualisierungslösung Proxmox VE massiv erweitern.</p><p>Vor ein paar Tagen habe ich bereits in einem<a href="https://www.youtube.com/channel/UCnBQ7GosWO57aTpm2wR7Q7Q" target="_blank" rel="noopener noreferrer">YouTube<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Video einen ersten Blick auf die Software geworfen. Seit dem habe ich es auch im Einsatz. Die Konfiguration lässt sich anhand der Dokumentation (oder Video) sehr leicht vornehmen.</p><div class="video-embed" data-src="https://www.youtube-nocookie.com/embed/ckq4ux-ZSvU?autoplay=1&rel=0"><button class="video-embed-trigger" type="button" data-umami-event="Video Load" data-umami-event-provider="YouTube" data-umami-event-id="ckq4ux-ZSvU"><svg class="video-embed-play-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="48" height="48"><circle cx="12" cy="12" r="12" fill="rgba(0,0,0,0.6)"/><path d="M9.5 7.5l7 4.5-7 4.5V7.5z" fill="white"/></svg><span class="video-embed-title">YouTube Video</span><span class="video-embed-note">YouTube &middot; Klicken zum Laden</span></button></div><h2 id="sicherung-auf-freenas-server">Sicherung auf FreeNAS Server<a href="#sicherung-auf-freenas-server" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Mein Proxmox Backup Server ist als virtuelle Maschine auf meinem Homeserver installiert. Als Dateispeicher für die Sicherung der virtuellen Maschinen und LX-Container habe ich eine NFS Freigabe<a href="https://www.youtube.com/watch?v=7YiIaLfH4O8" target="_blank" rel="noopener noreferrer">meines FreeNAS Systems<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
verwendet. Damit ist auch eine saubere Trennung zwischen Betrieb und Backup gewährleistet. Auch wenn sich beide Systeme im gleichen Serverrack befinden.</p><p>Nach jetzt einigen Tagen kann ich sagen, dass die Software stabil läuft und alle Backups sauber durchgeführt werden. Die Zeitpunkte alte Backups zu löschen sind zwar noch nicht gekommen, aber mittels geplanten Aufgaben wird auch dies automatisch erledigt.</p><h2 id="proxmox-backup-server-vorteile">Proxmox Backup Server Vorteile<a href="#proxmox-backup-server-vorteile" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Hier liegt übrigens ein großer Vorteil. Während man in Proxmox VE selbst nur die Anzahl an Backups bestimmen kann, lässt sich im PBS einstellen wie viele stündlichen, tägichen, wöchentlichen, monatlichen oder jährlichen Backups aufgehoben werden sollen. Dies zielt klar auf den Businessbereich, aber auch im Homelab lassen sich so mehrere Generationen und eine gewisse Versionshistorie realisieren.</p><p>Ein sehr spannendes Feature ist die Vorausberechnung ab wann kein Speicherplatz mehr zur Verfügung steht. Im Dashboard wird dies erstaunlich genau ausgerechnet. Ob diese Berechnung auch wirklich stimmt, werde ich in den nächsten Wochen feststellen. Eine Erweiterung des ZFS Dataset in FreeNAS wäre natürlich kein Problem.</p><p>Auf Twitter hatte ich auch bereits geäußert, dass ich vielleicht bei meinem<a href="https://www.netcup.de" target="_blank" rel="noopener noreferrer">NetCup<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Server (der Host dieses Blogs hier) wieder zurück zu Proxmox wechseln könnte. Derzeit nutze ich eine Docker Infrastruktur die mittels<a href="/traefik-letsencrypt-tutorial/">Traefik</a>
abgesichert ist. Mit Proxmox könnte ich, auch hier mittels Proxmox Backup Server, meine LX-Container oder virtuellen Maschinen erst einmal lokal sichern und anschließend per Sync-Job in mein Homelab spielen. Die Vertragslaufzeit der beiden Server spricht allerdings noch dagegen.</p><p><img src="/proxmox-backup-server/images/Proxmox-Backup-Server-2.1-Dashboard_hu_cd5afbf85c3c6dc0.webp" srcset="/proxmox-backup-server/images/Proxmox-Backup-Server-2.1-Dashboard_hu_9dddbc95f25a4fee.webp 384w, /proxmox-backup-server/images/Proxmox-Backup-Server-2.1-Dashboard_hu_cd5afbf85c3c6dc0.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Das Dashboard des Proxmox Backup Server" loading="eager" fetchpriority="high" decoding="async" width="768" height="432"/><h2 id="proxmox-backup-server-nachteile">Proxmox Backup Server Nachteile<a href="#proxmox-backup-server-nachteile" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Natürlich hat so ein System nicht nur Vorteile. Stand jetzt ist es so, dass man den BPS besser auf dedizierter Hardware installiert und nicht als virtuellen Gast. Eigentlich ist das ja klar und Firmen machen das im Regelfalls auch so. Wir im Homelab sparen uns meist die zusätzliche Hardware und versuchen so viel als möglich zu virtualisieren. Natürlich läuft der BPS auch als VM allerdings nicht mit vollem Funktionsumfang.</p><p>Der Proxmox Backup Server ist auch noch in der Weiterentwicklung und es kommen sicherlich noch viele neue Features hinzu. Man sollte also nicht erwarten jetzt schon ein vollständiges Produkt zu haben. Dieses Problem gibt es natürlich aber auch bei vielen anderen Herstellern. Gerade im Enterprise Segment habe ich das Problem häufiger. Allerdings sollte man ein Produkt nicht kaufen aufgrund von zukünftigen Versprechungen. Zwar ist der PBS erst mal kostenfrei, allerdings möchte man auch nicht alle paar Wochen sein Backup Server umstellen. Grundsätzlich würde ich euch aber bitten für Software die ihr gerne nutzt eine Kleinigkeit zu spenden, oder wie im Falle von Proxmox eine<a href="https://www.proxmox.com/de/proxmox-ve/preise" target="_blank" rel="noopener noreferrer">Community Lizenz<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
zu erwerben.</p>
]]></content:encoded><category>selfhosted</category><category>proxmox</category><category>backup</category></item><item><title>Proxmox Cluster im Homelab</title><link>https://www.teqqy.de/proxmox-cluster-im-homelab/</link><pubDate>Mon, 22 Jul 2019 17:42:49 +0200</pubDate><lastBuildDate>Mon, 22 Jul 2019 17:42:49 +0200</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/proxmox-cluster-im-homelab/</guid><description>In meinem Homelab betreibe ich seit langem ein Proxmox Server. Die Software ist für mich im Homelab der beste Kompromiss aus Features, Stabilität und Kosten. Es war also nur eine Frage der Zeit bis ein Proxmox Cluster im Homelab einziehen wird.
Seit längerer Zeit habe ich auch noch ein kleinen Server daheim stehen der zumeist ausgeschaltet war. Eine gewisse Zeit lief dieser Rechner auch mal als low cost Plex Server mit Hardware Transcoding sehr zufriedenstellend. Allerdings bin ich dann doch wieder auf mein normalen Server umzogen.</description><content:encoded>&lt;![CDATA[<p>In meinem Homelab betreibe ich seit langem ein Proxmox Server. Die Software ist für mich im Homelab der beste Kompromiss aus Features, Stabilität und Kosten. Es war also nur eine Frage der Zeit bis ein Proxmox Cluster im Homelab einziehen wird.</p><p>Seit längerer Zeit habe ich auch noch ein kleinen Server daheim stehen der zumeist ausgeschaltet war. Eine gewisse Zeit lief dieser Rechner auch mal als<a href="/low-end-plex-server/">low cost Plex Server</a>
mit Hardware Transcoding sehr zufriedenstellend. Allerdings bin ich dann doch wieder auf mein normalen Server umzogen.</p><p>Vor ein paar Tagen habe ich mich dann entschlossen einmal ein Proxmox Cluster auszuprobieren. Angeblich soll man die<a href="https://pve.proxmox.com/wiki/Raspberry_Pi_as_third_node" target="_blank" rel="noopener noreferrer">dritte Node<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
ja mit einem<a href="https://amzn.to/2Ot3HOL" target="_blank" rel="noopener noreferrer">Raspberry Pi<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
vorhalten können. Dieses Unterfangen hat allerdings bei mir nicht funktioniert.</p><p>Ein<a href="/proxmox-strom-sparen-4-tipps-von-mir/">Proxmox</a>
Cluster im<a href="/docker-compose-sammlung-fuer-dein-homelab/">Homelab</a>
lässt sich sehr einfach erstellen. Alles kann über eine Netzwerkkarte laufen. Empfohlen ist aber, ein extra Netzwerk für die Kommunikation von corosync zu erstellen. In meinem Test habe ich das allerdings nicht gemacht.</p><h2 id="storage-für-den-proxmox-cluster">Storage für den Proxmox Cluster<a href="#storage-f%c3%bcr-den-proxmox-cluster" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Das Storage wird in diesem Test auch nicht via Ceph bereit gestellt, sondern ganz klassisch via NFS auf meinem<a href="/synology-cloud-backup-anbieter-im-vergleich/">Synology</a>
NAS. Auch hierfür sollte man am besten ein eigenes Netzwerk bereitstellen.</p><p>Den Cluster selbst kann man seit einigen Versionen schon recht schnell und einfach in der Oberfläche von Proxmox erstellen. Man vergibt einen Namen, wählt das Clusternetzwerk aus und schon ist die erste Node hinzugefügt. Anschließend kopiert man die Clusterinformationen und fügt die unter dem Punkt Cluster bei der zweiten Node ein. Wenn man weitere physikalische Nodes hat, fährt man entsprechend fort.</p><p><img src="images/proxmox-cluster-im-homelab-overview-1024x489.webp" alt="" loading="eager" fetchpriority="high" decoding="async"/><p>Ich hatte es erst mit einem<a href="https://amzn.to/2Ot3HOL" target="_blank" rel="noopener noreferrer">Raspberry Pi<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
als corosync Node probiert. Das hat allerdings überhaupt nicht funktioniert. Die Anleitung ist auch schon etwas älter und sicherlich sind einige Dinge seit dem geändert worden.</p><p>Schlussendlich habe ich mich dann mit einer etwas unschönen Lösung beholfen und habe eine virtuelle Maschine erstellt und virtualisiere meine dritte Node als<a href="/java-8-unter-debian-9-stretch-via-apt-installieren/">VM</a>
. Hierfür muss natürlich nested virtualisiation eingeschaltet sein, denn sonst gibt es bei der Installation von Proxmox Probleme. Diese kann man zwar für unseren Zweck ignorieren, allerdings bin ich dann da doch recht altmodisch. Als Hardware hab ich nur 1 vCPU und 2 GB RAM verwendet. Mehr benötigt die VM auch nicht, denn sie dient für mich nur als Clusterzeuge.</p><p>Sobald die VM also installiert ist, kann man die Clusterinformationen dann im Punkt Cluster des virtualisierten Proxmox einfügen. Nach ein paar Sekunden hat man dann einen funktionierenden Proxmox Cluster im Homelab welcher auch Hochverfügbarkeit beherrscht. Natürlich nicht mit einer supporteten Konfiguration!</p>
]]></content:encoded><category>proxmox</category><category>homelab</category><category>synology</category></item><item><title>AdGuard Home vs PiHole</title><link>https://www.teqqy.de/2019-01-adguard-home-vs-pihole/</link><pubDate>Sat, 12 Jan 2019 14:32:04 +0100</pubDate><lastBuildDate>Sat, 12 Jan 2019 14:32:04 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/2019-01-adguard-home-vs-pihole/</guid><description>Adguard Home vs Pihole ist eine Gegenüberstellung die sich lohnt genauer anzuschauen. PiHole ist eine der bliebtesten Softwareprodukte die viele im Heimnetzwerk als erstes installieren werden. Adguard Home bietet aber viele weitere Features die sich sehr lohnen können. Ich für meinen Teil habe vor einiger Zeit schon eine Entscheidung getroffen. Warum es genau diese ist, erkläre ich dir in diesem Beitrag.
Fangen wir ein wenig früher an:
Vor ca. drei Wochen habe ich den Livestream von Frenck (externer Link) auf YouTube (externer Link) geschaut. Frenck ist einer der Entwickler rund um Hass.io und deren Community Addons. Er streamt ein paar mal pro Woche und entwickelt zusammen mit den Zuschauern Addons für Hass.io (externer Link) . An diesem besagten Tag hat er sich das Thema AdGuard (externer Link) vorgenommen und ich wurde neugierig.</description><content:encoded>&lt;![CDATA[<p>Adguard Home vs Pihole ist eine Gegenüberstellung die sich lohnt genauer anzuschauen. PiHole ist eine der bliebtesten Softwareprodukte die viele im Heimnetzwerk als erstes installieren werden. Adguard Home bietet aber viele weitere Features die sich sehr lohnen können. Ich für meinen Teil habe vor einiger Zeit schon eine Entscheidung getroffen. Warum es genau diese ist, erkläre ich dir in diesem Beitrag.</p><p>Fangen wir ein wenig früher an:<br>
Vor ca. drei Wochen habe ich den Livestream von<a href="https://www.youtube.com/user/Frenck" target="_blank" rel="noopener noreferrer">Frenck<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
auf<a href="https://www.youtube.com/channel/UCnBQ7GosWO57aTpm2wR7Q7Q" target="_blank" rel="noopener noreferrer">YouTube<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
geschaut. Frenck ist einer der Entwickler rund um Hass.io und deren Community Addons. Er streamt ein paar mal pro Woche und entwickelt zusammen mit den Zuschauern Addons für<a href="https://www.home-assistant.io/" target="_blank" rel="noopener noreferrer">Hass.io<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
. An diesem besagten Tag hat er sich das Thema<a href="https://adguard.com/de/welcome.html" target="_blank" rel="noopener noreferrer">AdGuard<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
vorgenommen und ich wurde neugierig.</p><p>Vor kurzem habe ich mir dann AdGuard als LXC Container installiert. Geht sehr einfach, Tar.gz Datei runter laden und ausführen. Wenn gewünscht, noch das<a href="https://github.com/AdguardTeam/AdGuardHome/issues/384" target="_blank" rel="noopener noreferrer">systemd<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
File anlegen und als Dienst starten.</p><h1 id="adguard-home-vs-pihole">Adguard Home vs PiHole<a href="#adguard-home-vs-pihole" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h1><p>Warum also der Wechsel? PiHole sieht zum einen mal total besch… aus. Natürlich sollte man eine Software nicht nach deren Optik aussuchen, allerdings finde ich es persönlich besser, wenn sich die Entwickler für das Frontend einfach mehr Mühe geben.</p><p><img src="https://teqqy.de/wp-content/uploads/2022/01/adguard-home-vs-pihole.webp" alt="Adguard home vs pihole" loading="eager" fetchpriority="high" decoding="async">
Des weiteren, werden viele Softwarebestandteile installiert, die ich nicht benötige. Mir reicht ein reiner AdBlocker ohne zusätzliche Möglichkeiten. Als interner DNS-Server war, dank ständig überschreibenden Dateien, PiHole nämlich nicht zu gebrauchen!</p><p>Wenn man sich den „Quellcode“ von PiHole ansieht, erkennt man auch, dass es einfach nur ein großes Gefrickel ist. Viele kleine Baustellen und an vielen Dingen müsste dringend geschraubt werden.</p><p>PiHole und AdGuard Homem lassen sich natürlich beide ohne Probleme auf einem<a href="https://www.amazon.de/shop/teqqyde/list/3JR8DIQ92BDIQ?ref_=aip_sf_list_spv_ons_mixed_d" target="_blank" rel="noopener noreferrer">Raspberry Pi<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
installieren. Ich betreibe AdGuard Home allerdings in einem LXC Container auf meinem<a href="/proxmox-backup-server/">Proxmox</a>
Server.</p><p>Der Hauptgrund ist allerdings, dass AdGuard Home eine API mitbringt. Entsprechend lässt sich hier diverse Abfragen und Steuerungen durchführen. Es wäre also ein leichtes mittels<a href="https://www.home-assistant.io" target="_blank" rel="noopener noreferrer">Home Assistant<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
die<a href="https://adguard.com/en/article/parental-control-software.html" target="_blank" rel="noopener noreferrer">parental control<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
zu aktivieren oder deaktivieren. Je nachdem, ob die Kinder im Haus sind oder nicht (wenn ich welche hätte).</p><p>Wer PiHole als vollständige Lösung incl. DHCP etc einsetzt, wäre wohl bei AdGuard Home nicht gut aufgehoben. Auch, wenn die Entwickler bereits diese Funktion auch eingebaut haben, das allerdings noch im Entwicklungsstadium.</p><p>Wenn du jedoch auf der Suche nach einer Alternative zu PiHole bist, solltest du dir AdGuard Home auf jeden Fall einmal ansehen, denn es macht seinen Job schon ziemlich gut. Zudem gibt es die Software auch als Installationsvariante für die Betriebssysteme, dass es über die Browser hinweg funktioniert. Gegen eine kleine monatliche Gebühr ist eine Installation auch unter iOS und Android möglich.</p>
]]></content:encoded><category>selfhosted</category><category>dns</category><category>homelab</category><category>proxmox</category></item><item><title>Z-Wave USB Stick in Proxmox LXC nutzen</title><link>https://www.teqqy.de/z-wave-usb-stick-in-proxmox-lxc-nutzen/</link><pubDate>Thu, 28 Dec 2017 22:32:42 +0100</pubDate><lastBuildDate>Thu, 28 Dec 2017 22:32:42 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/z-wave-usb-stick-in-proxmox-lxc-nutzen/</guid><description>Fast alle meine Systeme laufen in LXC Container auf meinem Proxmox Host, so natürlich auch Home Assistant. Damit dieser USB-Stick auch in Home Assistant (externer Link) funktioniert, reiche ich diesen mit ein paar kleinen Befehlen weiter. Um einen Z-Wave USB Stick in Proxmox LXC nutzen zu können, sind einige kleine Anpassungen der Konfiguration notwendig. Dieser Blogbeitrag hilft dir dabei.</description><content:encoded>&lt;![CDATA[<p>Fast alle meine Systeme laufen in LXC Container auf meinem Proxmox Host, so natürlich auch Home Assistant. Damit dieser USB-Stick auch in<a href="https://www.home-assistant.io/" target="_blank" rel="noopener noreferrer">Home Assistant<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
funktioniert, reiche ich diesen mit ein paar kleinen Befehlen weiter. Um einen Z-Wave USB Stick in Proxmox LXC nutzen zu können, sind einige kleine Anpassungen der Konfiguration notwendig. Dieser Blogbeitrag hilft dir dabei.</p><p><img src="images/proxmox-lxc-zwave-1024x282.webp" alt="Screenshot eines Proxmox LXC für Z-Wave" loading="lazy" fetchpriority="auto" decoding="async"/><p>Mein<a href="https://amzn.to/2DuYUsx" target="_blank" rel="noopener noreferrer">Aeotec Z-Wave Stick<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
wird unter Debian und Debianderivaten als<code>/dev/ttyACM0</code> erkannt. Entsprechend möchte auch Home Assistant diesen so ansprechen. Wir müssen dafür die zugehörige Gruppe unter Linux heraus finden. Das funktioniert mit</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>ls -l /dev/ttyACM0</span></span></code></pre></div></div><p>In unserem Fall ist die Zahl 166 die entscheidende. Um den Stick auch korrekt an Home Assistant weiter zu reichen, editieren wir nun die Konfigurationsdatei des LXC Containers. Diese liegt bei mir unter</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>/etc/pve/lxc/[ID].conf</code></pre></div><p>Ganz unten fügen wir nun folgende zwei Zeilen ein und speichern die Datei ab.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">conf</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="conf"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code class="language-conf" data-lang="conf">lxc.cgroup2.devices.allow: c 166:* rwmlxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file</code></pre></div><p>Zudem sollten noch die Rechte auf die /dev/ttyACM0 angepasst werden</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>chmod o+rw /dev/ttyACM0</span></span></code></pre></div></div><p>Nun kannst du deinen Z-Wave USB Stick in Proxmox LXC nutzen und dein Smarthome aufbauen.</p>
]]></content:encoded><category>proxmox</category><category>home-assistant</category><category>smart-home</category></item></channel></rss>