technische projekte

SERVER & INFRASTRUKTUR

Neben der Softwareentwicklung beschäftige ich mich schon seit vielen Jahren mit dem Aufbau und Betrieb einer eigenen Serverinfrastruktur. Was ursprünglich mit einzelnen Rechnern und verschiedenen Diensten angefangen hat, ist inzwischen zu einer umfangreicheren Serverumgebung geworden.

Die Infrastruktur nutze ich für eigene Entwicklungsprojekte, verschiedene Anwendungen und Automatisierungen. Dabei kümmere ich mich selbst um die Einrichtung, Wartung, Absicherung und Weiterentwicklung der Systeme.

MEINE SERVERUMGEBUNG

Den größten Teil meiner Dienste betreibe ich auf mehreren eigenen Servern mit Proxmox VE. Dort laufen unterschiedliche virtuelle Maschinen und Container, die ich je nach Aufgabe voneinander trenne.

Ein Teil ist für die Softwareentwicklung vorgesehen, andere Systeme übernehmen Aufgaben wie Dateiverwaltung, Monitoring, Automatisierung oder die Bereitstellung von Webanwendungen.

Mir ist wichtig, dass die einzelnen Dienste möglichst unabhängig voneinander betrieben werden können. Dadurch lassen sich Anwendungen aktualisieren oder umstellen, ohne dass gleich die gesamte Umgebung betroffen ist.

VIRTUALISIERUNG & CONTAINER

Proxmox und Virtualisierung

Proxmox & virtuelle Maschinen

Für die Virtualisierung nutze ich Proxmox VE auf mehreren eigenen Servern. Darauf betreibe ich virtuelle Maschinen und LXC-Container mit unterschiedlichen Linux- und Windows-Systemen.

Die Ressourcen verteile ich je nach Aufgabe und Auslastung. Dazu gehören auch die Einrichtung neuer Systeme, Updates, Speicherverwaltung und die Fehlersuche bei Problemen.

Schwerpunkte: Proxmox VE · Proxmox PBS · KVM · LXC · Linux · Windows · Ressourcenverwaltung

Docker und Anwendungen

Docker & Containerdienste

Viele meiner Anwendungen laufen in Docker-Containern, die ich mit Docker Compose und Portainer verwalte. Dabei trenne ich die Dienste nach ihren Aufgaben und verwende eigene Konfigurationen für die jeweiligen Anwendungen.

Neben der Bereitstellung gehören auch Updates, Volumes, Netzwerke und die Überwachung der Container dazu.

Schwerpunkte: Docker · Docker Compose · Portainer · Container-Netzwerke · Volumes · Deployments

NETZWERK & SICHERHEIT

Meine Server und Geräte befinden sich in unterschiedlichen Netzwerkbereichen. Mit VLANs und Firewall-Regeln trenne ich beispielsweise private Geräte, IoT-Systeme und Dienste, die von außen erreichbar sein müssen.

Für Routing, Firewall und VPN nutze ich unter anderem pfSense. Öffentlich erreichbare Anwendungen werden über Reverse Proxies bereitgestellt und nach Möglichkeit mit verschlüsselten Verbindungen abgesichert.

Bei der Einrichtung achte ich darauf, dass nur die tatsächlich benötigten Verbindungen erlaubt sind. Dazu gehören auch eingeschränkte Verwaltungszugänge, regelmäßige Updates und die Kontrolle der verwendeten Berechtigungen.

Schematischer Aufbau meiner Serverinfrastruktur mit pfSense, VLANs, Proxmox und Docker

SYSTEMVERWALTUNG & MONITORING

Auf meiner Infrastruktur laufen unterschiedliche Anwendungen, die ich für die Entwicklung, Verwaltung und Automatisierung einsetze. Einige davon sind öffentlich erreichbar, andere stehen ausschließlich innerhalb meines eigenen Netzwerks zur Verfügung.

Viele Dienste kommunizieren über APIs oder MQTT miteinander. Dadurch lassen sich Daten austauschen und Abläufe automatisieren, ohne für jede Aufgabe eine eigene Anwendung entwickeln zu müssen.

Entwicklung und DevOps

Entwicklung & DevOps

GitLab, Versionsverwaltung, CI/CD, eigene Entwicklungsdienste und Containerverwaltung.

GitLab · Git · Docker · Portainer

Cloud und Webanwendungen

Cloud & Webanwendungen

Selbst gehostete Anwendungen für Dateien, Dokumente und die Verwaltung unterschiedlicher Daten.

ownCloud · Paperless · Webserver · Reverse Proxy

Automatisierung und Smart Home

Automatisierung & Smart Home

Automatisierte Abläufe, Nachrichten, Geräteintegration und die Verbindung unterschiedlicher Systeme.

n8n · MQTT · openHAB · Home Assistant

Monitoring und Verwaltung

Monitoring & Verwaltung

Überwachung von Servern, Netzwerkgeräten und Diensten sowie zentrale Benachrichtigungen bei Problemen.

Uptime Kuma · ntfy · Monitoring

MONITORING. BACKUPS & BETRIEB

Ein wichtiger Teil meiner Infrastruktur ist die Überwachung der laufenden Systeme. Dafür nutze ich unter anderem Uptime Kuma, um die Erreichbarkeit von Servern, Netzwerkgeräten und Anwendungen zu kontrollieren.

Bei Problemen lasse ich mich über ntfy benachrichtigen. Daneben beschäftige ich mich mit Logs, Systemressourcen, Updates und der Fehlersuche, wenn ein Dienst nicht wie erwartet funktioniert.

Auch Backups und die Wiederherstellung von Daten und Systemen gehören für mich zum Betrieb dazu. Mir ist wichtig, nicht nur eine Sicherung zu besitzen, sondern auch zu wissen, wie ich die betroffenen Systeme im Fehlerfall wiederherstellen kann.

Entwicklung und DevOps

Monitoring

Ich überwache Server, Dienste und Anwendungen, damit Probleme frühzeitig sichtbar werden. Dabei geht es vor allem um Erreichbarkeit, Status, Laufzeiten und Systemressourcen.

Schwerpunkte: Uptime Kuma, Verfügbarkeit, Statusprüfung, Ressourcen

Benachrichtigung

Benachrichtigung

Wenn ein Dienst ausfällt oder ein Problem erkannt wird, lasse ich mich automatisch benachrichtigen. So kann ich schnell reagieren, statt erst später über einen Fehler zu stolpern.

Schwerpunkte: ntfy, Warnmeldungen, Ereignisse, schnelle Reaktion

Backup

Backups

Zur Infrastruktur gehören für mich auch regelmäßige Datensicherungen und die Wiederherstellung von Systemen. Dabei achte ich darauf, dass wichtige Daten und Konfigurationen gesichert werden und im Fehlerfall wieder zur Verfügung stehen.

Schwerpunkte: Datensicherung, Backup-Strategie, Restore, Wiederherstellung

Backups

Sicherheit

Beim Betrieb meiner Infrastruktur achte ich auf abgesicherte Zugänge und möglichst sichere Systeme. Dazu gehören regelmäßige Updates, verschlüsselte Verbindungen und eine sinnvolle Netzwerksegmentierung, um Dienste und Geräte voneinander zu trennen.

Schwerpunkte: Updates, Zugriffsschutz, Netzwerksegmentierung, sichere Dienste

AUS DER PRAXIS

Meine Serverumgebung ist über die Jahre gewachsen und wurde mehrfach erweitert und umgebaut. Eine größere Umstellung war die Migration von Proxmox VE 6 auf Proxmox VE 9, bei der ich bestehende virtuelle Maschinen und Dienste in die neue Umgebung übernommen habe.

Anschließend habe ich die Hardware erweitert und die Ressourcenverteilung der virtuellen Maschinen angepasst. Dazu gehörten unter anderem zusätzliche Arbeitsspeicher-Kapazitäten, Anpassungen an den VM-Konfigurationen und die Überprüfung der laufenden Dienste.

Besonders wichtig war mir dabei, dass die bereits vorhandenen Anwendungen auch nach der Umstellung wieder zuverlässig funktionieren und die zusätzlichen Ressourcen sinnvoll genutzt werden können.

Eingesetzte Technologien: Proxmox VE · KVM · Linux · Virtualisierung · Ressourcenmanagement · Serveradministration

Proxmox VE Dashboard meiner Serverinfrastruktur mit virtuellen Maschinen und LXC-Containern
Proxmox VE – Übersicht meiner Virtualisierungsumgebung
Auf meinen Proxmox-Hosts betreibe ich verschiedene virtuelle Maschinen und LXC-Container. Der Screenshot zeigt einen Ausschnitt meiner aktuellen Umgebung mit den laufenden Systemen und ihrer Ressourcenauslastung.

LOKALE KI-INFRASTRUKTUR

Ein eigener Bereich meiner Infrastruktur ist für den Betrieb lokaler KI-Modelle vorgesehen. Dafür verwende ich einen GPU-Server mit zwei NVIDIA RTX 3060, auf dem ich unter anderem Qwen mit llama.cpp und Open WebUI betreibe.

Neben der verfügbaren Rechenleistung und dem GPU-Speicher beschäftige ich mich auch mit der Anbindung der Modelle an andere Dienste. Besonders interessant ist für mich die Integration in eigene Anwendungen und die Hausautomatisierung.

Die eingesetzten Modelle, ihre Konfiguration und meine aktuellen KI-Projekte stelle ich auf der Seite Private AI genauer vor.

MEINE LOKALE KI

WEITERE EINBLICKE

Viele der hier beschriebenen Systeme nutze ich täglich für eigene Projekte und zum Ausprobieren neuer Technologien. Dabei wird die Umgebung regelmäßig erweitert, angepasst oder auch wieder vereinfacht, wenn sich eine andere Lösung als sinnvoller herausstellt.

Weitere Informationen zu meinen Entwicklungsarbeiten und den eingesetzten Technologien finden sich im Portfolio und auf der Skills-Seite.

MEINE PROJEKTE MEINE SKILLS