update self hosting article

This commit is contained in:
2026-07-30 09:38:30 +02:00
parent d780f81505
commit c21a021efb
+46 -31
View File
@@ -10,7 +10,7 @@ tags = ["selfhosting","linux"]
[extra] [extra]
local_image = "img/server_icon.svg" local_image = "img/server_icon.svg"
+++ +++
##### Stand 27.03.2026 ##### Stand 22.07.2026
## Einleitung ## Einleitung
Der folgende Artikel gibt einen Überblick zur aktuellen Architektur meiner privaten IT-Infrastruktur. Der folgende Artikel gibt einen Überblick zur aktuellen Architektur meiner privaten IT-Infrastruktur.
Ich hatte mir am Anfang meines Studiums einen Raspberry Pi 4 gekauft und als ich mit dem Experimentieren Ich hatte mir am Anfang meines Studiums einen Raspberry Pi 4 gekauft und als ich mit dem Experimentieren
@@ -23,13 +23,14 @@ fertig war, suchte ich nach einem sinnvollen Verwendungszweck. So bin ich zum Se
* **Datenschutz** - man entscheidet komplett selbst welche Daten wo vorliegen * **Datenschutz** - man entscheidet komplett selbst welche Daten wo vorliegen
## Infrastruktur ## Infrastruktur
Meine Self-Hosting Infrastruktur besteht aktuell aus sieben Maschinen. Fünf davon sind VPS Meine Self-Hosting Infrastruktur besteht aktuell aus neun Maschinen. Sechs davon sind VPS
(**V**irtual**P**rivate**S**erver) die ich bei einem Cloud-Dienstleister anmiete. Bei den (**V**irtual**P**rivate**S**erver) die ich bei einem Cloud-Dienstleister anmiete. Bei den
restlichen Servern handelt es sich um Raspberry Pis verschiedener Generationen. Die Pis sind restlichen Servern handelt es sich um zwei Raspberry Pis verschiedener Generationen, sowie
einem alten Desktop-PC den ich zum Server umfunktioniert habe. Die Pis und der Server sind
über einen kleinen Netgear Switch per Ethernet verkabelt, da ich großen Wert auf stabile über einen kleinen Netgear Switch per Ethernet verkabelt, da ich großen Wert auf stabile
Verbindungen und geringe Latenzen lege. Verbindungen und geringe Latenzen lege.
Auf den VMs läuft überall Debian, auf den Raspberries Arch. Auf den VMs läuft überall Debian, auf den Raspberries Arch und auf dem Server Alpine Linux.
Ich komme eigentliche mit jedem Linux Distro gut zurecht, Ich komme eigentliche mit jedem Linux Distro gut zurecht,
aber ich nutze privat am liebsten Arch, weil mich das Rolling-Release Modell überzeugt und aber ich nutze privat am liebsten Arch, weil mich das Rolling-Release Modell überzeugt und
ich das Paketmanagement mit Arch (pacman, AUR usw.) mag. ich das Paketmanagement mit Arch (pacman, AUR usw.) mag.
@@ -37,31 +38,42 @@ ich das Paketmanagement mit Arch (pacman, AUR usw.) mag.
## Architektur ## Architektur
``` ```
.......................... CLOUD
: ____________ _____:______ ____________ ____________ ____________
: | [ VM1 ] | | [ VM3 ] | | [ VM5 ] | | [ VM1 ] | ____________ | [ VM5 ] |_______
: | PW-Manager | | Monitoring | | jumphost | | PW-Manager | | [ VM3 ] | | jumphost |_____ |
: |____________| |____________| |____________| |____________| | Monitoring | |____________| | |
: : ____________ : ____________ |:| : |____________| : | |
: : | [ VM2 ] | : | [ VM4 ] | |:| ____________ : ____________ | |
: : | benji0x3c | : | Git-Repo | |:| | [ VM2 ] | ____________ | [ VM6 ] | | |
: : |____________| : |____________| |:| | benji0x3c | | [ VM4 ] | | jumphost | | |
: :..........:.........:........:..... |:| |____________| | Git-Repo | |____________| | |
: : wg-Tunnel& : |____________| : | |<- VPN-Tunnel
:..SSH.......... : SSH : : : | |
: SSH |:| :..............:..............: | |
Cloud : : |:| : | |
---------------:-----------------------:----|:|-------- : | |
On-Prem :____________ :____|:|_____ SSH | |
| [ Pi2 ] | | [ Pi1 ] | : | |
| darkstat |...SSH....| Backups | ___________________:____________________ | |
| DiscordBot | | Ansible | | ____________ ____________ | | |
|____________| |____________| | | [ Pi2 ] | | [ Pi1 ] |_________| |
| | darkstat |.......| Soju |___________|
| | DiscordBot | | Ansible | |
| |____________| |____________| |
| : |
| : |
| _____:______ |
| | [ PC1 ] | |
| | Automation | |
| | Backups | |
| ON-PREMISE |____________| |
|________________________________________|
``` ```
Die Ascii-Grafik skizziert den groben Aufbau meiner Infrastruktur und ist relativ selbsterklärend. Die Ascii-Grafik skizziert den groben Aufbau meiner Infrastruktur und ist relativ selbsterklärend.
Einige Details möchte ich dennoch hervorheben: Einige Details möchte ich dennoch hervorheben:
+ da Pi1 der die Maschine ist von der Ansible Automationen gestartet werden können, liegt sein public-key auf jedem anderen Server + da Pi1 der die Maschine ist von der Ansible Automationen gestartet werden können, liegt sein public-key auf jedem anderen Server
+ da Pi1 und Pi2 nicht vom Monitoring Server erreicht werden können, pushen sie ihre Telemetrie-Daten selbstständig per SSH + da Pi1, Pi2 und PC1 nicht vom Monitoring Server erreicht werden können, pushen sie ihre Telemetrie-Daten selbstständig per SSH
+ um mein lokales Netz aus der Distanz warten habe ich eine externe VM per VPN Tunnel mit Pi1 verbunden + um mein lokales Netz aus der Distanz warten habe ich eine externe VM per VPN Tunnel mit Pi1 verbunden
## Anwendungen ## Anwendungen
@@ -85,17 +97,20 @@ Ich hoste eine [Gitea](https://about.gitea.com/) Instanz für meine Repositories
anderseits möchte weiß man bei Github mittlerweile nicht mehr wofür die eigenen Repositories genutzt werden. anderseits möchte weiß man bei Github mittlerweile nicht mehr wofür die eigenen Repositories genutzt werden.
#### jumphost #### jumphost
Ich habe eine sehr kleine VM die ich ausschließlich als Jumphost benutze, um aus dem WAN auf mein lokales Netzwerk zugreifen zu können. Ich habe eine sehr kleine VM die ich ausschließlich als Jumphost benutze, um aus dem WAN auf mein lokales Netzwerk zugreifen zu können.
#### Backups: rsync #### Soju
Auf einem der Raspberries läuft täglich ein Backupscript, welches die Backups von meinem Desktop-Rechner und den VPS Maschinen in der Cloud schreibt. Auf einem der Raspberries läuft Soju, ein IRC Bouncer, damit ich IRC Verläufe asynchron nachlesen kann. Ich halte mich nicht enorm viel in IRC Chats auf, aber finde diese reduzierte Art der Kommunikation sehr angenehm.
Dafür nutze ich rsync um nur das Delta schreiben zu müssen und nicht bei jedem Durchlauf alles zu kopieren.
Dabei werden aber nur für Daten mit sinnvollem Kosten-Nutzen Verhältnis Backups geschrieben, da ich Platz sparen möchte. Perspektivisch möchte ich regelmäßige
Snapshots dieses Backups in ein Cloud schreiben, das ist aber aktuell aus Budget-Gründen noch nicht implementiert.
#### Netzwerkanalyse: Darkstat #### Netzwerkanalyse: Darkstat
Außerdem läuft auf einem der Pis [darkstat](https://unix4lyfe.org/darkstat/), ein Netzwerkanalyse-Tool, dass ich ausprobiert habe weil es extrem wenig Ressourcen benötigt und sehr praktisch ist, Außerdem läuft auf einem der Pis [darkstat](https://unix4lyfe.org/darkstat/), ein Netzwerkanalyse-Tool, dass ich ausprobiert habe weil es extrem wenig Ressourcen benötigt und sehr praktisch ist,
wenn man mehrere Geräte in einem Netzwerk verwaltet. wenn man mehrere Geräte in einem Netzwerk verwaltet.
#### DiscordBot #### DiscordBot
Des weiteren läuft ein DiscordBot auf einem RaspberryPi, den ich selbst in Rust geschrieben habe. Der Bot wird nur von meinen Freunden und mir verwendet und braucht deshalb Des weiteren läuft ein DiscordBot auf einem RaspberryPi, den ich selbst in Rust geschrieben habe. Der Bot wird nur von meinen Freunden und mir verwendet und braucht deshalb
nicht viele Ressourcen. nicht viele Ressourcen.
#### Backups: rsync
Auf dem Server läuft täglich ein Backupscript, welches die Backups von meinem Desktop-Rechner und den VPS Maschinen in der Cloud schreibt.
Dafür nutze ich rsync um nur das Delta schreiben zu müssen und nicht bei jedem Durchlauf alles zu kopieren.
Dabei werden aber nur für Daten mit sinnvollem Kosten-Nutzen Verhältnis Backups geschrieben, da ich Platz sparen möchte. Perspektivisch möchte ich regelmäßige
Snapshots dieses Backups in ein Cloud schreiben, das ist aber aktuell aus Budget-Gründen noch nicht implementiert.
## Fazit& Ausblick ## Fazit& Ausblick
Es macht mir großen Spaß Anwendungen selbst zu hosten und die dafür benötigte Infrastruktur zu warten. An meinem aktuellen Setup gibt es aber noch vieles zu verbessern Es macht mir großen Spaß Anwendungen selbst zu hosten und die dafür benötigte Infrastruktur zu warten. An meinem aktuellen Setup gibt es aber noch vieles zu verbessern