ZFS

ZFS1 ist ein sehr mächtiges Dateisystem. Es wurde ursprünglich für BSD2-Systeme entwickelt, kann aber auch unter Linux problemlos genutzt werden. ZFS unterstützt nativ Verschlüsselung, Snapshots3 und verschiedene RAID4-Funktionen. Snapshots frieren quasi den Zustand eines ZFS-Volumes ein und man kann diesen Zustand zu einem späteren Zeitpunkt wiederherstellen. Dies ist z.B. vor größeren Updates einer Software praktisch. Auch Backups können mittels Snapshots sicherer erstellt werden, da sich die Daten in einem Snapshot nicht mehr verändern. Die RAID-Funktionen von ZFS erhöhen, je nach gewähltem Typ, die Datensicherheit und/oder die Geschwindigkeit der genutzten Datenträger.

Mosquitto1 ist ein MQTT-Broker. MQTT2 ist ein Protokoll über das sehr viele smarte Geräte Statusinformationen senden und Steuerbefehle erhalten können. Der MQTT-Broker ist quasi eine Zustandsdatenbank für die angeschlossenen MQTT-Clients.

Pi-Hole1 ist ein DNS-Forwarder mit eingebauter Filterfunktion. Hauptziel ist es Werbung durch sog. Blackhole-Routing2 zu filtern.

Gitea ist eine leichtgewichtige Oberfläche zur Verwaltung von Git-Repositories. Eine der besonders hervorzuhebenden Funktionen ist die Migration von Repos aus anderen Tools, wie z.B. GitHub, GitLab, etc., hierbei ist es auch möglich einen Mirror der Repos in Gitea anzulegen. So kann man vom größeren Funktionsumfang der zuvor genannten Tools profitieren, muss aber nicht fürchten, irgendwann einmal nicht mehr an seine Daten zu kommen, z.B. weil der Dienst eingestellt wird.

Dropbear ist eine leichtgewichtige SSH-Server-Implementierung für Unix-ähnliche Systeme. Es ermöglicht sichere Fernzugriffe und Dateiübertragungen über das SSH-Protokoll. Dropbear bietet ähnliche Funktionen wie der bekannte OpenSSH, ist jedoch aufgrund seiner geringen Größe und Ressourcenanforderungen besonders für eingebettete Systeme oder Geräte mit begrenzten Ressourcen geeignet.

Docker1 ist eine Open-Source-Plattform, die ermöglicht, Anwendungen in Containern zu erstellen, bereitzustellen und auszuführen. Container sind isolierte Umgebungen, die alle notwendigen Abhängigkeiten und Ressourcen einer Anwendung enthalten, einschließlich des Betriebssystems, der Bibliotheken und anderer Komponenten.

Durch die Verwendung von Docker können Anwendungen weitgehend unabhängig von der zugrunde liegenden Infrastruktur bereitgestellt werden.

Ein Heimserver ist ein vielseitiges Werkzeug, auf dem verschiedene Dienste im eigenen Zuhause gehostet werden können, von der Dateifreigabe über Medien- und Datenbankverwaltung bis hin zur Smarthome-Steuerung. Linux ist eine sehr gute Grundlage für einen solchen Server. In diesem Artikel geht es um die Grundeinrichtung eines Servers mit Debian, der dann als Basis für die zuvor genannten Aufgaben dient.