[{"content":"Im letzten Journal-Post hatte ich erzählt, wie die Idee für mein Homelab entstanden ist. Hier jetzt die technischen Details zur eigentlichen Erstinstallation von Proxmox - für alle, die vor demselben ersten Schritt stehen.\nHardware und Installation Mein Node läuft auf einem HP Elite Mini 600 G9 (i5-12500T). Installiert wird von einem USB-Stick, das ISO gibt\u0026rsquo;s direkt von der offiziellen Proxmox-Downloadseite, geflasht z.B. mit balenaEtcher.\nVor dem Booten vom Stick musste ich im BIOS Secure Boot deaktivieren - sonst bootet der Installer gar nicht erst. Beim eigentlichen Setup:\nZFS RAID-1 über zwei Disks fürs Root-Filesystem (Mirror, kein Single-Disk-Risiko) Node über einen eigenen FQDN benannt (z.B. pve.heimnetz.local - der genaue Name ist Geschmackssache, Hauptsache konsistent mit dem Rest der eigenen Namenskonvention) Fixe IP, Gateway und interner DNS-Server gleich bei der Installation hinterlegt, statt das später nachzuziehen Für die extern angeschlossene Festplatte habe ich bewusst einen der USB-3-Ports mit 10 Gbit/s verwendet, um da kein unnötiges Nadelöhr einzubauen. Proxmox erkennt sie danach ganz normal als zusätzliche Disk.\nErste Schritte nach der Installation Vor dem ersten Update-Lauf lohnt sich ein Blick, ob S.M.A.R.T.-Monitoring auf den NVMe-Devices aktiviert ist - gerade bei einer Neuinstallation nicht selbstverständlich.\nStandardmässig sind die kostenpflichtigen Enterprise-Repositories aktiv, die ohne Subscription nur Fehler werfen. Auf die kostenlosen No-Subscription-Repos umstellen, danach in der Weboberfläche unter Updates refreshen, alle verfügbaren Updates installieren und rebooten.\nIOMMU / PCI-Passthrough aktivieren Um später Geräte direkt an VMs durchzureichen (z.B. eine Grafikkarte oder einen USB-Controller), braucht es IOMMU - Mainboard und CPU müssen das unterstützen, und die Funktion muss zusätzlich im BIOS aktiviert sein.\nAuf Proxmox-Seite /etc/default/grub anpassen:\n#GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;quiet\u0026#34; GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;quiet intel_iommu=on iommu=pt\u0026#34; Danach die Boot-Konfiguration neu schreiben. Wichtig: Proxmox nutzt inzwischen meist proxmox-boot-tool statt eines klassischen GRUB-Updates direkt - ein simples update-grub weist selbst darauf hin:\nroot@proxmox:~# update-grub Generating grub configuration file ... W: This system is booted via proxmox-boot-tool: W: Executing \u0026#39;update-grub\u0026#39; directly does not update the correct configs! W: Running: \u0026#39;proxmox-boot-tool refresh\u0026#39; ... Also gleich den richtigen Befehl verwenden:\nroot@proxmox:~# proxmox-boot-tool refresh Zusätzlich in /etc/modules die passenden VFIO-Module eintragen:\nvfio vfio_iommu_type1 vfio_pci vfio_virqfd Danach einmal rebooten, damit alles greift.\nEine Disk direkt an eine VM durchreichen Für eine einzelne Disk (z.B. eine externe USB-Platte) reicht ein direkter Eintrag im VM-Config-File unter /etc/pve/qemu-server/\u0026lt;VMID\u0026gt;.conf:\nscsi1: /dev/sda Nach dem Speichern taucht die Disk sofort in der Hardware-Übersicht der VM auf - kein Neustart der VM nötig.\nDen Subscription-Reminder loswerden Ohne kostenpflichtige Subscription nervt Proxmox bei jedem Login und jeder Update-Prüfung mit einem Popup. Lässt sich durch eine kleine Anpassung an /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js abschalten - die Check-Funktion wird schlicht dazu gebracht, immer orig_cmd() direkt aufzurufen statt vorher die Subscription zu prüfen:\nchecked_command: function(orig_cmd) { Proxmox.Utils.API2Request( { url: \u0026#39;/nodes/localhost/subscription\u0026#39;, method: \u0026#39;GET\u0026#39;, failure: function(response, opts) { Ext.Msg.alert(gettext(\u0026#39;Error\u0026#39;), response.htmlStatus); }, success: function(response, opts) { let res = response.result; if (false) { // ursprüngliche Subscription-Prüfung hier auskommentiert } else { orig_cmd(); } }, }, ); }, Achtung: Das Update-Skript wird bei einem Proxmox-Upgrade wieder überschrieben, der Fix muss also nach grösseren Updates gelegentlich erneut angewendet werden.\nZwei kleine Nachträge Um den lokalen Default-Storage local als reinen Backup-/ISO-Storage zu nutzen statt für alles:\npvesm set local --content none Und falls eine VM über NFS auf Verzeichnisse des Hosts zugreifen soll, braucht es unter Umständen zusätzlich Default-ACLs, damit neu angelegte Dateien/Ordner die richtigen Rechte erben:\nsetfacl -m d:u::rwx,d:g::rwx,d:o::r /mnt/usbdisk/pve/data/ Das war der Grundstein. Was danach kam - Ubuntu-VM, Docker, der erste Container - ist eine andere Geschichte.\n","permalink":"https://homelabbin.ch/infrastruktur/proxmox-erstinstallation/","summary":"\u003cp\u003eIm \u003ca href=\"/journal/wie-alles-anfing/\"\u003eletzten Journal-Post\u003c/a\u003e hatte ich erzählt, wie die Idee für\nmein Homelab entstanden ist. Hier jetzt die technischen Details zur eigentlichen\nErstinstallation von Proxmox - für alle, die vor demselben ersten Schritt stehen.\u003c/p\u003e\n\u003ch2 id=\"hardware-und-installation\"\u003eHardware und Installation\u003c/h2\u003e\n\u003cp\u003eMein Node läuft auf einem \u003cstrong\u003eHP Elite Mini 600 G9\u003c/strong\u003e (i5-12500T). Installiert wird von\neinem USB-Stick, das ISO gibt\u0026rsquo;s direkt von der\n\u003ca href=\"https://www.proxmox.com/en/downloads/proxmox-virtual-environment/iso\"\u003eoffiziellen Proxmox-Downloadseite\u003c/a\u003e,\ngeflasht z.B. mit balenaEtcher.\u003c/p\u003e\n\u003cp\u003eVor dem Booten vom Stick musste ich im BIOS \u003cstrong\u003eSecure Boot deaktivieren\u003c/strong\u003e - sonst bootet\nder Installer gar nicht erst. Beim eigentlichen Setup:\u003c/p\u003e","title":"Proxmox: die Erstinstallation"},{"content":"Angefangen hat das Ganze an einem ganz gewöhnlichen Abend vor dem Fernseher, äh, YouTube. Ich bin über ein Video zum Thema Privacy gestolpert und dabei ist mir wieder mal schmerzhaft bewusst geworden, wie sorglos ich eigentlich mit meinen eigenen Daten umging: Fotos bei Google, Kontakte und Kalender bei Microsoft - obwohl ich privat schon seit über 15 Jahren fast ausschliesslich mit Linux unterwegs war. Der Widerspruch war mir vorher nie richtig aufgefallen.\nIn diesem Video wurde auch Self-Hosting angesprochen, was mich natürlich auf die Suche gehen liess und mich in eine ganze neue Welt von super interessanten Themen eintauchen liess. Dabei wurde immer wieder über erschwingliche Hardware für ein Homelab gesprochen – HP-Mini-PCs. Klar gibt es da draussen auch Leute mit viel gröberem Equipment, aber für den Anfang war das genau richtig. Damit war die Idee geboren.\nIch fand auf einer Occasions-Plattform einen neuwertigen HP-Mini-PC, rüstete etwas RAM und zwei NVMe-SSDs nach, und installierte Proxmox drauf. Der kleine Kasten läuft bis heute, nach über drei Jahren, immer noch wie ein Schweizer Uhrwerk. Mittlerweile stehen zusätzlich vier Raspberry Pis bereit, um in die Kubernetes-Welt einzutauchen - das steckt aber noch in den Kinderschuhen. Damals folgte auf Proxmox erst mal eine Ubuntu-VM mit Docker.\nDer erste Container, den ich in Betrieb genommen habe: Radicale, ein CalDAV-/ CardDAV-Server für Kontakte und Kalender. Naheliegend, war das ja genau einer der Auslöser gewesen.\nUnd dann kamen, wie das so ist, die logischen Folgeprobleme gleich reihenweise: Wie mache ich das Ganze von aussen erreichbar, ohne mir gleich ein Sicherheitsloch einzuhandeln? Wie synce ich das aufs Handy? Auf den Geschäfts-Windows-PC? Auf den eigenen Linux-Rechner? Jede gelöste Frage hat im Grunde zwei neue aufgeworfen - und genau aus diesem Rattenschwanz ist über die Zeit das geworden, was inzwischen mein Homelab ist.\nDie Privacy-Frage von damals ist seither nicht verschwunden, sondern über die Jahre eher noch ausgeprägter geworden. Meine Kinder nennen mich mittlerweile paranoid, Bekannte belächeln mich dafür - und ja, manchmal ist es umständlich und nervig kompliziert. Trotzdem ist es das für mich wert: Auf dem Handy läuft heute GrapheneOS, Mails laufen über Proton, meine Daten liegen auf dem eigenen NAS, Fotos in Immich, Dokumente in Paperless-ngx. Die Hoheit über meine Daten liegt bei mir - nicht bei irgendeinem Big-Tech-Konzern.\n","permalink":"https://homelabbin.ch/journal/wie-alles-anfing/","summary":"\u003cp\u003eAngefangen hat das Ganze an einem ganz gewöhnlichen Abend vor dem Fernseher, äh,\nYouTube. Ich bin über ein Video zum Thema Privacy gestolpert und dabei ist mir wieder\nmal schmerzhaft bewusst geworden, wie sorglos ich eigentlich mit meinen eigenen Daten\numging: Fotos bei Google, Kontakte und Kalender bei Microsoft - obwohl ich privat schon\nseit über 15 Jahren fast ausschliesslich mit Linux unterwegs war. Der Widerspruch war\nmir vorher nie richtig aufgefallen.\u003c/p\u003e","title":"Wie alles anfing"},{"content":"Ich betreibe seit einer Weile ein Homelab. Nicht als reines Hobby-Spielzeug, sondern bewusst auch als Übungsfeld: Dinge, die im Berufsalltag oft keine Zeit oder keinen Raum haben, kann ich hier in Ruhe wirklich verstehen lernen, statt sie nur einmal laufen zu lassen und zu vergessen. GitOps statt Klicki-Bunti, Ansible statt Copy-Paste-SSH-Sessions über zwölf Hosts, Automatisierung, die man auch in einem Jahr noch nachvollziehen kann, statt \u0026ldquo;lief mal, keine Ahnung mehr wieso\u0026rdquo;.\nKonkret angefangen hat es mit einem eher unspektakulären Abend: Ich sass an einem Problem, das sich erst nach Stunden als ein einziger, gut dokumentierter Bug in einer Config-Grouping-Logik entpuppte. Der Weg dahin war voller kleiner Erkenntnisse, die es wert gewesen wären, festgehalten zu werden - stattdessen landeten sie wie so oft nur in meinen eigenen, unaufgeräumten Notizen, die ich selbst kaum je wieder anschaue. Genau da wurde mir klar: Ich sammle ständig Wissen an, das komplett unsichtbar bleibt - für andere, aber ehrlicherweise auch für mich selbst in sechs Monaten.\nDazu kommt ein zweiter, pragmatischerer Grund: Ich will Dinge lernen, die sich auch beruflich auszahlen. Ansible, sauberes GitOps, Container-Update-Automatisierung mit echtem Verständnis statt Bauchgefühl - das sind alles Themen, die in Stellenausschreibungen auftauchen, die mich interessieren würden. Ein Homelab ist dafür ein guter Ort zum Üben, weil Fehler hier nichts kosten ausser Zeit. Aber üben allein reicht nicht, wenn niemand sieht, dass ich es kann. Öffentlich zu schreiben ist mein Weg, aus reinem Basteln auch sichtbare, vorzeigbare Erfahrung zu machen.\nWarum dann nicht nur ein Homelab-Blog?\nDer Name \u0026ldquo;homelabbin\u0026rdquo; könnte vermuten lassen, dass es hier nur um Server und Container geht. Das ist bewusst nicht die ganze Wahrheit. In meinem Job arbeite ich mit Datenbanken, ERP-Systemen, Scripts und Schnittstellen - ein Alltag, der selten öffentlich sichtbar wird, obwohl da mindestens genauso viel Interessantes und Lehrreiches passiert wie im Homelab. Ich habe eine Weile gezögert, ob ich mich mit dem Namen zu sehr auf ein Thema festlege. Am Ende habe ich mich entschieden, den Namen als Aufhänger zu sehen, nicht als Einschränkung. Deshalb gibt es hier drei grobe Rubriken - Infrastruktur, Daten \u0026amp; Business, und ein Journal für alles, was dazwischen liegt oder einfach nur ein Zwischenstand ist - und Tags als eigentliche Feinsteuerung, falls dich nur ein Teilbereich interessiert.\nIch habe keinen festen Redaktionsplan und verspreche auch keine bestimmte Veröffentlichungsfrequenz. Es wird Phasen geben, in denen viel passiert, und solche, in denen wochenlang nichts Neues dazukommt. Das ist okay - der Massstab ist nicht Konstanz um der Konstanz willen, sondern dass das, was hier steht, auch wirklich etwas wert ist, das ich selbst gerne gelesen hätte.\nMal schauen, was daraus wird.\n","permalink":"https://homelabbin.ch/journal/warum-dieser-blog/","summary":"\u003cp\u003eIch betreibe seit einer Weile ein Homelab. Nicht als reines Hobby-Spielzeug, sondern\nbewusst auch als Übungsfeld: Dinge, die im Berufsalltag oft keine Zeit oder keinen Raum\nhaben, kann ich hier in Ruhe wirklich verstehen lernen, statt sie nur einmal laufen zu lassen\nund zu vergessen. GitOps statt Klicki-Bunti, Ansible statt Copy-Paste-SSH-Sessions über\nzwölf Hosts, Automatisierung, die man auch in einem Jahr noch nachvollziehen kann, statt\n\u0026ldquo;lief mal, keine Ahnung mehr wieso\u0026rdquo;.\u003c/p\u003e","title":"Warum dieser Blog"},{"content":"Ich arbeite als IT-Spezialist in einem Schweizer KMU - Datenbanken, ERP-Systeme, Scripts und Schnittstellen sind mein Alltag. Daneben betreibe ich ein Homelab, an dem ich mir handwerklich beibringe, was der Berufsalltag oft keine Zeit lässt: sauber automatisieren, GitOps statt Klicki-Bunti, Dinge wirklich verstehen statt nur einmal laufen lassen.\nHier schreibe ich auf, was dabei hängen bleibt - aus dem Homelab, aus dem Job, und aus allem dazwischen: Infrastruktur, Daten \u0026amp; Business, und ein Journal für den Rest.\nFragen, Anmerkungen oder Fehler gefunden? Schreib mir: info@homelabbin.ch\n","permalink":"https://homelabbin.ch/about/","summary":"\u003cp\u003eIch arbeite als IT-Spezialist in einem Schweizer KMU - Datenbanken, ERP-Systeme, Scripts\nund Schnittstellen sind mein Alltag. Daneben betreibe ich ein Homelab, an dem ich mir\nhandwerklich beibringe, was der Berufsalltag oft keine Zeit lässt: sauber automatisieren,\nGitOps statt Klicki-Bunti, Dinge wirklich verstehen statt nur einmal laufen lassen.\u003c/p\u003e\n\u003cp\u003eHier schreibe ich auf, was dabei hängen bleibt - aus dem Homelab, aus dem Job, und aus\nallem dazwischen: Infrastruktur, Daten \u0026amp; Business, und ein Journal für den Rest.\u003c/p\u003e","title":"Über mich"}]