Ein sanfter Leitfaden zum Self-Hosting
(knhash.in)- In einem Jahr 2024, in dem Cloud- und Abo-Dienste allgegenwärtig sind, lohnt es sich, softwarezentriertes Self-Hosting als Hobby wieder auszuprobieren, bei dem man durch das Einrichten eigener Systeme lernt
- Self-Hosting kann Widerstand gegen proprietäre Dienste sein, doch wegen des hohen Zeit- und mentalen Aufwands sind Spaß und Entdeckerfreude die wichtigsten Motive
- Einsteiger können auch ohne physischen Server beginnen und per SSH bei Shared Hosting wie Uberspace auf eine Umgebung mit 10 GB Speicherplatz und 1,5 GB RAM zugreifen
- Bei Uberspace lässt sich Docker nicht nutzen, aber mithilfe von Uberspace Labs und Awesome-Selfhosted kann man Dienste wie Actual Budget und Miniflux betreiben
- Bindet man eine eigene Domain ein, lassen sich Subdomains für einzelne Dienste, individuelle E-Mail-Adressen und öffentliches File-Hosting einrichten, wodurch die Ergebnisse des Self-Hostings leichter gezeigt und gepflegt werden können
Das Gefühl von Personal Computing vor der Cloud
- In den 2000er-Jahren wurden Software und Spiele auf DVD vertrieben, und Personal Computer waren stark als Rechengeräte geprägt, die Nutzer selbst bedienten
- In den 2010er-Jahren verbreiteten sich Chromebooks und Cloud-Dienste, und viele Software verlagerte sich zu einem Modell, bei dem sie auf den Computern anderer Leute läuft
- Nachdem Abos nach Werbung zu einem zentralen Modell der Online-Monetarisierung geworden waren, nahm die Tendenz zu, dass Nutzer Kontrolle gegen Bequemlichkeit eintauschen
- Dadurch haben manche Generationen, die Informatik lernen, seltener die Chance, als Computer-Enthusiasten anzufangen, und auch die frühe Hacker-Haltung wird schwächer
Self-Hosting als Hobby angehen
- Self-Hosting kann in einer von proprietären Angeboten dominierten Umgebung ein Weg sein, Kontrolle über das digitale Selbst zurückzugewinnen
- Rein praktisch betrachtet kann Hosting bei einem Anbieter anderswo die bessere Wahl sein
- Stabilität, Nebenläufigkeit, Redundanz und Verfügbarkeit lassen sich dem Dienstanbieter überlassen
- Statt Kosten zu sparen, können Zeitaufwand und mentale Belastung steigen
- Intellektuell ist es eher eine digitale Garage, in der man Systeme immer weiter feinjustiert
- Es kann zu einem Hobby werden, bei dem man nach Feierabend an einem spielzeugartigen Lieblingssystem herumbastelt
- Wichtiger als strenge Kriterien für „echtes Self-Hosting“ ist, zumindest auf Softwareebene mit Freude anzufangen
Die erste Umgebung mit Shared Hosting aufbauen
- Um mit Self-Hosting zu beginnen, braucht man zunächst einen Ort zum Hosten
- Als empfohlenes Hosting wird Uberspace genannt
- Es ist eine Art Hosting nach dem Motto: „Wir geben dir einen Schraubenzieher; fackel nur nicht das Gebäude ab und hab Spaß“
- Da am Monatsende nachträglich abgerechnet wird, lässt sich der erste Monat praktisch wie eine kostenlose Testphase nutzen
- Nach dem Anlegen eines Accounts kann man per SSH auf einen mit dem Internet verbundenen Computer zugreifen
- Die bereitgestellte Umgebung umfasst 10 GB Speicherplatz und 1,5 GB RAM
- Führt man
lsaus, sieht man ein leeres neues Benutzerverzeichnis
So wählt man Software zur Installation aus
- Beim Suchen nach Software für Uberspace sind zwei Ressourcen besonders nützlich
- Uberspace Labs: ein spezieller Guide dazu, wie man verschiedene Software auf Uberspace installiert
- Awesome-Selfhosted: eine breit gefächerte Liste self-hostbarer Software, geeignet um Projekte mit einer gewissen Community zu finden
- Bei Uberspace kann Docker nicht verwendet werden
- Wegen der Speicherbeschränkungen ist es schwierig, eine vollständige Virtualisierungs-Suite auszuführen
- Für große Software oder Docker-only-Installationen ist das unbequem, aber es gibt Umwege: Installation aus dem Quellcode oder das Übernehmen der finalen Runtime aus einem Dockerisierungsprozess wie aus einem Build-Image
Beispiel 1: Finanzdaten mit Actual Budget selbst verwalten
- Actual Budget ist eine schnelle, privacy-orientierte App zur Finanzverwaltung
- Sie passt zu Nutzern, die Ausgaben, Nettovermögen, Konsummuster und Ähnliches verfolgen möchten
- Man kann sensible Finanzinformationen betreiben, ohne sie einem anderen Dienst anzuvertrauen, und über den Browser von überall darauf zugreifen
- Im Zentrum der Budgetierung steht die Methode Envelope Budgeting
- Den Uberspace-Installationsguide findet man unter guide_actual
- Im Reporting-Bereich lassen sich Finanzdaten aufschlüsseln und analysieren
- Auch Dinge, die man für kleine Käufe hielt, können sich über einen Monat hinweg summieren
- Man kann Einsichten gewinnen, etwa dass Pendelkosten höher ausfallen als erwartet
Beispiel 2: Feeds mit Miniflux und RSS zurückholen
- Miniflux ist ein minimalistischer und meinungsstarker Feedreader
- Mit RSS kann man Updates der bevorzugten Nachrichtenmedien, Magazine und Blogbeiträge an einem Ort verfolgen
- Auch abonnierte YouTube-Kanäle lassen sich wie eine eigene werbefreie Feed-Timeline einrichten
- YouTube stellt RSS-Feeds bereit
- Der eingebettete YouTube-Player enthält keine Werbung
- Nach der Installation von Miniflux auf Uberspace kann man Feeds der bevorzugten YouTube-Kanäle hinzufügen
- Aktiviert man in den Einstellungen die Fever API, können RSS-Clients, die die Fever API lesen, auf den RSS-Aggregator in der Cloud zugreifen
- Im Apple-Ökosystem wird Unread von Golden Hill Software empfohlen
- Man kann getrennte Feed-Kategorien für Nachrichten und Webcomics anlegen
Mit einer eigenen Domain einen vorzeigbaren Raum schaffen
- Ein Reiz des Self-Hostings besteht darin, zu zeigen, was man gebaut hat
- Eine eigene Domain dient als eigener Online-Raum
- Als Domain-Registrar wird Porkbun empfohlen
- Hat man eine Domain wie
awesauce.com, sind verschiedene Konfigurationen möglich- Von Uberspace gehostete Dienste lassen sich mit Subdomains wie
actual.awesauce.comoderminiflux.awesauce.comverbinden - Unterstützt der E-Mail-Anbieter eigene Domains, kann man Adressen wie
contact@awesauce.comanlegen- Den tatsächlichen E-Mail-Dienstanbieter kann man später wechseln, die Adresse bleibt erhalten
- E-Mail mit eigener Domain kann kostenpflichtig sein
- Subdomains oder URL-Pfade lassen sich mit einem GitHub-Repository verbinden, um öffentliche Dateien wie einen Lebenslauf unter
awesauce.com/files/resume.pdfbereitzustellen
- Von Uberspace gehostete Dienste lassen sich mit Subdomains wie
Bewusst offen gelassene nächste Erkundung
- Ziel dieses Artikels ist weniger ein detailliertes Schritt-für-Schritt-Tutorial als vielmehr, Neugier darauf zu wecken, selbst Dinge auszuprobieren
- Als Aufgabe zur eigenen Erkundung bleibt, herauszufinden, wie man mobile Benachrichtigungen sendet, wenn ein bestimmtes Produkt wieder auf Lager ist oder sich eine Website geändert hat
- Die zugehörige Hacker-News-Diskussion geht in diesem Thread weiter
1 Kommentare
Meinungen auf Hacker News
Aus einer älteren Perspektive ist es erstaunlich, dass für Shared Hosting zu bezahlen heute als „Self-Hosting“ bezeichnet wird. Das heißt nicht, dass daran etwas schlecht wäre, aber vor zehn Jahren hätte man das wohl keinesfalls Self-Hosting genannt.
Es ist ähnlich wie der Bedeutungswandel von „von Grund auf kochen“. In einem Kochbuch aus dem 19. Jahrhundert hätte bei den Zutaten vielleicht „1 Schwein“ gestanden, mit der Anweisung, es zu schlachten; heute kauft man selbstverständlich ein Stück Schweinefleisch in einer Styroporschale.
Es gibt aber auch einen großen Markt von Menschen, die von den Vorteilen des Self-Hostings profitieren könnten, ohne jedes Detail verstehen zu müssen. Wenn man zum Beispiel Managed Services mit der eigenen Domain nutzt, bekommt man ziemlich viele Vorteile wie Dateneigentum, Open-Source-Software und Wettbewerb zwischen Anbietern. Deshalb scheint ein breiterer Begriff nötig zu sein, und derzeit verwende ich dafür Indie Hosting.
Die allgemein akzeptierte Ausnahme liegt im Bereich Netzwerkschutz. Wenn möglich, will man die IP-Adresse zu Hause nicht nach außen offenlegen, daher nutzen viele Tailscale, Cloudflare Tunnel oder einen VPS als Proxy.
Falls das noch nicht reicht: In meiner Gefriertruhe liegen auch Schweinefleisch von einem Schwein, das ich selbst aufgezogen und zerlegt habe, sowie selbst gepökelter Bacon. „Eine alte Seele in einer neuen Welt“ passt da ziemlich gut.
Ob man diese Hardware gemietet, den Server selbst zusammengebaut oder eine vom Anbieter bereitgestellte virtuelle Maschine genutzt hat: Der Wartungsaufwand ist ähnlich. Trotzdem ist es weiterhin etwas anderes, als Wix/Squarespace, Geocities oder Social-Media-Plattformen zu verwenden.
Er schrieb ja: „Deshalb schreibe ich hier eine sanfte Einführung ins Self-Hosting, auch wenn es kein ‚echtes Self-Hosting‘ ist. Verklagt mich doch.“ :)
Ich mag Self-Hosting wirklich sehr und habe mich in den letzten Monaten ziemlich tief hineingearbeitet. Derzeit betreibe ich mehrere Dienste für die Firma und ein Homelab und deploye auf Hetzner VPS mit Ansible + Docker-Compose-Dateien oder https://github.com/coollabsio/coolify/.
Das Repository awesome-selfhosted ist ebenfalls gut, um Projekte fürs Self-Hosting zu finden, aber ihm fehlen Komfortfunktionen. Deshalb habe ich unter https://selfhostedworld.com ein Verzeichnis mit etwas verbesserter User Experience erstellt. Es gibt Suche, Filter nach Sternezahl/Beliebtheit/Datum und einen Dark Mode.
Ich frage mich, ob das mit modernen Tools und virtuellen Maschinen vergleichsweise sicher ist oder ob man sich ständig darum kümmern muss, etwa jede Woche Software-Updates zu prüfen. Ich wollte schon lange einmal einen Server aufsetzen, und jetzt habe ich einen Ersatz-Laptop; ich überlege, wenigstens ein NAS darauf laufen zu lassen.
https://ptah.sh
Für Authentifizierung habe ich auch einen Vergleich von OIDC-Servern erstellt: https://github.com/lastlogin-net/obligator#comparison-is-the...
Es gibt den Spruch: „Man spart Geld, verliert dafür aber Zeit und Nerven – praktisch gesehen ist das dumm.“ In der Self-Hosting-Community wird Kubernetes oft eher kritisch gesehen. Aber Self-Hosting insgesamt hat ohnehin etwas davon, also ist es auch nicht verkehrt, gleich ganz durchzuziehen.
Ich betreibe drei Dell R720XD mit NixOS als k3s-Multi-Master. Als Storage nutze ich rook/ceph, mit etwa 12 Festplatten unterschiedlicher Größe. Mein liebster Partytrick ist, während des Videostreamings irgendeine Festplatte aus dem Cluster zu ziehen; das juckt ihn überhaupt nicht. Wenn ich sie wieder einstecke, ist alles, als wäre nichts gewesen, und es ist noch reichlich Platz übrig, also suche ich weiter nach nützlichen Dingen zum Hosten.
Ich persönlich nutze trotz eines Setups aus vier kleinen Desktops Docker Swarm. Bei der Hardware, die du hast, würde die Stromrechnung vermutlich locker 200 Dollar im Monat betragen. Docker Swarm ist alt und nicht populär, aber nur ein klein wenig komplexer als reines Docker und bietet für Multi-Node-Deployments und Orchestrierung alles, was man braucht.
So bekommt man die Vorteile der NixOS-Konfiguration und kann trotzdem beliebige Anwendungen ausführen, die vielleicht nicht in nixpkgs enthalten sind. Für Storage nutze ich ZFS auf dem Hypervisor Proxmox und stelle es lokal per NFS bereit.
[1] https://github.com/aksiksi/compose2nix
Der Originaltext trifft diesen Punkt gut: „Es ist 2024, also ist es an der Zeit, zur ursprünglichen Freude daran zurückzukehren, unsere Systeme selbst einzurichten.“
Self-Hosting macht wirklich Spaß. Es ist eine Mischung aus Lernen, Herausforderung und praktischem Nutzen. +1 für Actual Budget und Changedetection.io. Aber -1 dafür, dass Threat Modeling und Sicherheit nicht behandelt werden. Der Autor des Originals nutzt HTTPS, stellt die Website aber ins öffentliche Internet. Wer gerade anfängt, sollte nur im LAN hosten oder alles sehr stark absichern. Bei Shared Hosting kann das allerdings schwierig sein, wenn es keine IP-Beschränkung oder Tunneling gibt; ob uberspace so etwas anbietet, weiß ich nicht. Wer über die Anfangsphase hinaus ist, dem würde ich Docker o. Ä. empfehlen, um mehrere Apps nebeneinander laufen zu lassen. Gebündelte Abhängigkeiten sind großartig. Als kleine Eigenwerbung für mein Buch, das auch den Docker-Ansatz behandelt: https://selfhostbook.com
Ich stimme den anderen alten Hasen zu.
Wenn nicht eigene Hardware in einem Raum läuft, den man besitzt oder gemietet hat, ist es kein Self-Hosting. Heute nutze ich nur noch eine kleine Micro-ITX-Box, aber früher hatte ich auch einmal ein richtiges Server-Rack mit 6U-Server, USV und Netzwerkausrüstung. Das war vor meiner Ehe.
Ich liebe Self-Hosting. Durch kleine Hobbyprojekte habe ich viel gelernt.
Falls jemand mein Setup interessiert: Ich habe günstig einen gebrauchten Dell R630 bei eBay gekauft. SSD 1 TB RAID 1, 32 GB RAM, 32 Kerne, und ich betreibe darauf kleine Hobby-Apps mit Docker, virsh und minikube und habe Spaß daran. Alle drei habe ich dabei gelernt. Ich habe eine 1-Gbit/s-Glasfaserleitung, und ein Cronjob prüft jede Minute, ob sich die IP geändert hat, und ändert dann per Linode API den DNS-A-Record.
1,5 GB RAM und 10 GB Festplatte? Ein Hetzner-Basis-Cloud-VPS bietet 4 GB RAM und 40 GB Speicher für 4,51 Euro.
Für Compute heißt es: „Die ersten 3.000 OCPU-Stunden und 18.000 GB-Stunden pro Monat sind kostenlos, damit jede Tenancy Ampere-A1-Compute-Instanzen erstellen kann. Diese Nutzung im Free Tier wird über Bare Metal, virtuelle Maschinen und Container-Instanzen hinweg gemeinsam angerechnet.“ Beim Block Storage heißt es sinngemäß: „Das Free-Tier-Kontingent des Block Volume Service beträgt insgesamt 200 GB für die gesamte Tenancy. Wenn es mehrere Kostenschätzungen in derselben Tenancy gibt, gelten insgesamt nur 200 GB.“ Mit anderen Worten: 4 ARM-CPU-Kerne + 24 GB RAM + 200 GB Speicherplatz kostenlos.
Spoiler: Dieser Artikel handelt nicht von Self-Hosting, sondern von Shared Hosting.
Aber wenn jemand dir K8S ins Ohr flüstert …
Wenn du mit diesem Guide durch bist, solltest du dir unbedingt auch /r/homelab und /r/homedatacenter ansehen ;)