Mein Home Lab
Aktuelles Setup
Derzeit besteht mein Home Lab aus einem Raspberry Pi 3 B+, einem Raspberry Pi 5 und einem Lenovo MQ720q. Darauf laufen verschiedene Dienste von Adguard über Unbound bis hin zu custom Web-Apps. Ich werde versuchen, einen kurzen Überblick über meine Konfiguration zu geben und meine bisherigen Erfahrungen zu teilen.
Dreh- und Angelpunkt des Setups ist ohne Zweifel Proxmox. Als ich das Thinkcentre angeschafft habe, war für mich klar, dass ich Proxmox brauche, da es unfassbar praktisch ist, ein komplett neues Linux System hochzufahren, um Dinge zu testen und auszuprobieren. Außerdem bin ich ein großer Fan davon verschiedene Kontexte sauber getrennt voneinander laufen zu lassen. D.h. alle Services die ich zum Entwickeln brauchen, laufen in einer eigenen VM (DevLab), sowie ein separater Produktiv Server.
Aktuell laufen die folgenden Services in meinem DevLab:
NAME IMAGE STATE STATUS CREATED
---------------------------- ------------------------------- --------- ------------------- ------------
plantz.app plantz.app:latest [RUNNING] Up 9 days 9 days ago
postgres postgres:latest [RUNNING] Up 9 days 8 weeks ago
docker-nginx-proxy-manager-1 jc21/nginx-proxy-manager:latest [RUNNING] Up 9 days 8 weeks ago
drawio jgraph/drawio:latest [RUNNING] Up 9 days 8 weeks ago
adminer adminer [RUNNING] Up 9 days 8 weeks ago
excalidraw excalidraw/excalidraw [RUNNING] Up 9 days (healthy) 8 weeks ago
minio quay.io/minio/minio [RUNNING] Up 9 days 8 weeks ago
pgvector ankane/pgvector:latest [RUNNING] Up 9 days 0 months ago
pgadmin dpage/pgadmin4:latest [RUNNING] Up 9 days 0 months ago
penpot-penpot-frontend-1 penpotapp/frontend:latest [RUNNING] Up 9 days 1 months ago
penpot-penpot-exporter-1 penpotapp/exporter:latest [RUNNING] Up 9 days 1 months ago
penpot-penpot-backend-1 penpotapp/backend:latest [RUNNING] Up 9 days 1 months ago
penpot-penpot-postgres-1 postgres:15 [RUNNING] Up 9 days (healthy) 1 months ago
penpot-penpot-redis-1 redis:7.2 [RUNNING] Up 9 days (healthy) 1 months ago
penpot-penpot-mailcatch-1 sj26/mailcatcher:latest [RUNNING] Up 9 days 1 months ago
nginx-ui uozi/nginx-ui:latest [RUNNING] Up 9 days 1 months ago
uptime-kuma louislam/uptime-kuma:1 [RUNNING] Up 9 days (healthy) 1 months ago
Da ein Home Lab süchtig macht, und man immer neue Apps ausprobieren möchte, muss man sich zwangsläufig mit Docker und Docker Compose auseinander setzen. Anfangs kopiert man noch wild yaml files hin und her, aber irgendwann kommt man an den Punkt, wo man verstehen und eigenständig anpassen möchte.
Wenn man ein Home Lab betreibt, führt kein Weg an der Kommandozeile vorbei. Tools wie vim und tmux sind da unabdingbar. Und natürlich möchte die Shell immer weiter optimiert werden. Hier eine Auswahl meiner Lieblingstools
Mit der Zeit habe ich mich auch mit Shell Skripten angefreundet. Insbesondere um meine Lieblingstools in neuen VMs schnellstmöglich aufsetzen zu können.
# install-base.sh
apt update && apt upgrade -y
apt install vim tmux btop neofetch curl git fzf
# Install oh-my-bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"
# Install eza
apt install -y gpg
sudo mkdir -p /etc/apt/keyrings
wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg
echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list
sudo chmod 644 /etc/apt/keyrings/gierens.gpg /etc/apt/sources.list.d/gierens.list
sudo apt update
sudo apt install -y eza
Zukunftsmusik
In Zukunft würde ich mich auch gerne näher mit Ansible auseinandersetzen, um die Verwaltung meiner Hardware Nodes komfortabler zu gestalten. Ich möchte mich mehr mit Dashboards und Monitoring beschäftigen, damit das Beheben von Problemen in Zukunft auch etwas systematischer wird. Darüber hinaus würde ich gerne einen Server bauen, der es mir ermöglicht AI Services (ollama mit Open WebUI z.B.) lokal laufen zu lassen. Ein eigener Sprachassistent in Verbindung mit HomeAssistant wäre auch super praktisch, aber bis dahin ist noch ein weiter Weg.