Projekt HomeLab – Datensouveranität an erster Stelle
(thx @ Thilo)
Was mache ich hier eigentlich? Mein Ziel ist es, sämtliche Daten selbst zu verwalten. Hierzu zählen meine Kontakte, Kalendereinträge, Passwörter, Lesezeichen, Dokumente u. v. m.
Was wird benötigt?
Ein Server (Rechner im 24/7-Betrieb) – Zuhause oder im Rechenzentrum (wenn zuhause, dann mit stabiler, brauchbarer Internetverbindung und mit externer IPv4-Adresse.
Eine Domain um das HomeLab anzusteuern (wenn zuhause, dann mit DynDNS-Funktionalität)
Ich habe das Projekt mit verschiedenen Domain-Anbietern getestet:
Cloudflare | deSEC (kostenlos) |
IONOS | Regfish |
Strato |
Hier meine verwendete Software:
Ubuntu Server LTS *Link* | Tandoor *Link* |
Traefik *Link* | Vaultwarden *Link* |
WordPress *Link* | Paperless NGX *Link* |
Nextcloud *Link* | PrivateBin *Link* |
Collabora Office *Link* | Portainer *Link* |
Vaultwarden *Link* | Rustdesk *Link* |
FireFoxSync *Link* |
Erreichbarkeit mittels DynDNS:
Solltet Ihr einen Router besitzen, der euch DynDNS anbietet, wäre es möglich, diesen dafür zu benutzen. Die Subdomains können dann mittels CNAME-Einträgen beim Anbieter auf die Domain zeigen.
Installation des Server-Systems:
Ich installiere Ubuntu 22.04 LTS lediglich mit einem OpenSSH-Server.
Eine GUI wird nicht benötigt – frisst nur Ressourcen…
Installation Docker:
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
Einrichtung von Traefik
Zuerst legen wir uns ein neues Netzwerk an
docker network create traefik_proxy
Damit ein Passwort für Traefik definiert werden kann, benötigen wir eine Kleinigkeit vom Apache-Webserver
sudo apt install apache2-utils -y