Homeserver zuhause: Die Voraussetzungen
Ihr wollt die eigene Datenhoheit? Dann kommt ihr an einem eigenen Homeserver nicht vorbei.
Aber was ist das eigentlich? Ich versuche es hier etwas näher zu bringen und ein paar Voraussetzungen zu erläutern.
Letztendlich ist ein Server auch nur ein Computer. Die Leistungsfähigkeit hängt natürlich stark vom Anwendungsgebiet ab. Es kann ein kleiner Raspberry-Computer sein, aber auch im 4-stelligen Euro-Bereich gibt es Möglichkeiten 😉
Der Name „Server“ definiert eigentlich eine permanente Erreichbarkeit. Deswegen solltet ihr euch mit einem 24/7-Betrieb anfreunden. Also je nach Lautstärke (Lüfter, usw.) evtl. nichts für’s Schlafzimmer.
Aber was benötigen wir denn und mit was muss ich berücksichtigen?
- Stellt euch auf Stromkosten ein – Ein Messgerät hilft hier den 24/7-Verbrauch zu berechnen
- Man benötigt eine eigene Domain. Gibt’s zwar auch kostenlos, aber eigene Domains sind schick.
- Wichtig: Eine gute Anbindung zuhause mit öffentlicher IPv4-Adresse – ohne die geht nix
- 24-Stunden-Betrieb. Nochmal!! – Das Ding muss 24/7 anbleiben an 365 Tagen im Jahr
- DSL- oder Kabel-Router mit Möglichkeit der Portfreigabe. Idealerweise AVM Fritz!Box
Sollte euer Provider keine öffentliche IPv4-Adresse bieten, kann dies i. d. R. durch einen Anruf beim Anbieter geschaltet werden.
Eine eigene Domain ist insofern schön, dass man dann auch seine eigene EMail-Adresse auf diese Domain setzen kann.
Der Domain-Anbieter muss DynDNS unterstützen.
Folgende Anbieter sind erfolgreich getestet:
- Cloudflare
- deSEC (kostenlos)
- IONOS
- Regfish (seit über 16 Jahren mein Anbieter)
- Strato
Unter allen Anbietern habe ich schon Homeserver eingerichtet. Letztendlich muss man sich selbst entscheiden. Die Kostenunterschiede liegen i. d. R. bei der Domain (unterschiedliche Endungen).
Der Server sollte UNBEDINGT Linux als Betriebssystem haben.
Linux ist sogar im Desktop-Bereich enorm gewachsen, jedoch lautet die einfache Regel immer noch:
Windows / macOS für alle Normal-User. Linux ist ein leistungsfähiges Server-Betriebsystem.
Es gibt natürlich Linux-Derivate wie Sand am Meer. Aufgrund meiner Erfahrung setze ich immer noch auf Ubuntu oder Debian.
Der Server sollte hinter dem Router eine feste IP-Adresse bekommen und der Router sollte folgende Ports öffnen:
- 22 für SSH (Linux-Fernwartung per Terminal)
- 80 für unverschlüsselte Web-Übertragung sowie SSL-Zertifikat-Erstellung
- 443 für verschlüsselte Datenübertragung
Backup-Strategie:
Damit alles, was auch mal eingerichtet ist, auch gesichert werden kann, sollte man sich auch Gedanken über die Sicherung machen.
Idealerweise wäre:
- SSD 1 (2,5″ oder M.2) für das Betriebssystem
- SSD 2 (2,5″ oder M.2) für die Daten
- Weitere SSDs oder HDDs als Backup (RAID-Verbund optional)
Als beliebte Hardwareplattform wird oft der Intel NUC genommen.
Hier funktioniert generell jedes Modell (sinnvollerweise ab Intel Core i3/i5/i7 der 5. Generation mit 8GB RAM).
Es macht auf jeden Fall Sinn, einen NUC im Gebrauchtmarkt zu besorgen, wenn man Kosten sparen möchte.
Wichtig: Nur Intel i3/i5 oder i7 Prozessoren ab der 5. Generation (i7 i. d. R. NICHT notwendig).
Wichtig: Unbedingt einen NUC mit internem SATA-Port kaufen. Übersicht hier.
Infos zu Ubuntu:
Ubuntu gibt’s hier.
Während des Setups sorgt ihr bitte dafür, dass OpenSSH mit installiert wird. Das war schon der wichtige Teil für Ubuntu.
Mein System läuft mit Docker.
Die Docker-installation:
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin sudo groupadd docker sudo usermod -aG docker $USER newgrp docker
Auf meinem System laufen folgende Container (alle Container laufen mit Docker-Compose)
- Traefik: Der Proxy-Server, der alles verwaltet
- Nextcloud: Eine Collaboration-Software mit enormen Umfang
- Portainer: Eine Web-GUI zum Verwalten der Docker-Container
- Vaultwarden: High-Secure-Passwort-Tresor
- WordPress: Blogger-Software
- Maria-DB: Ein Datenbank-Server
- PHPMyAdmin: Eine Web-GUI zum Verwalten von SQL-Datenbanken
- Collabora: Eine Office-Suite integriert in Nexcloud
- Firefox-Sync: Ein Firefox-Syncserver für Bookmarks u. Add-Ons
- osTicket: Ein Ticketsystem
- Rustdesk: Teamviewer war gestern – Rustdesk ist heute
- Tandoor: Kochbuch
- Framadate: Terminfindungs-Software
- Privatebin: Pastebin selfhosted
- und weitere kleinere Container….