Server Einrichtung
Achtung!
Die Server Einrichtung ist grundsätzlich ein einmaliges Ereignis und sollte von Administratoren durchgeführt werden. Sämtliche hier genannten Schritte sind potenziell destruktiv und verändern den Zustand des Servers.
Vorbereitung
- Verbinde den Mini-PC mit dem Router (über LAN-Kabel)
- Monitor anschließen (über HDMI-Kabel (gleicher Kanal wie der Monitor))
- Tastatur und Maus anschließen (über USB-Kabel)
- Flashe einen USB-Stick mit der gewünschten Linux-Distribution
# Alle Laufwerke auflisten
diskutil list
# USB identifizieren
# USB aushängen
diskutil unmountDisk /dev/disk6
# Linux ISO herunterladen
# z.B. https://cdimage.debian.org/cdimage/release/current/amd64/iso-cd/
# Linux ISO auf USB schreiben
sudo dd if=$HOME/Downloads/debian-13.1.0-amd64-netinst.iso of=/dev/rdisk6 bs=4m status=progress
# USB auswerfen
diskutil eject /dev/disk6- USB-Stick in USB Port des Mini-PCs stecken
- Stromkabel anschließen und verbinden
Booten
- Einschalten und wiederholt F7 drücken
- Wähle "Installieren" (nicht "Grafik-Installation")
- Wähle das USB-Laufwerk
- Schließe die Installation ab, bis ein hellblauer Hintergrund mit drei Auswahlmöglichkeiten angezeigt wird
- Dort wähle "UEFI-Firmware-Einstellungen" > Erweitert > ACPI-Einstellungen
- Setze "Enable Hibernation" auf "Disabled" (verhindert den Ruhezustand)
- Setze "ACPI Ruhezustand" auf "Suspend Disabled"
- Speichern, beenden und booten
Die Schritte 5-7 können auch über die Konsole aktiviert werden:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetINFO
Dieser Befehl kann verwendet werden, um zu prüfen, ob die Ruhezustände aktiviert sind. masked bedeutet, dass der Ruhezustand deaktiviert ist.
systemctl is-enabled sleep.target suspend.target hibernate.target hybrid-sleep.targetServer Konfiguration
1. Repository klonen
git clone https://github.com/timonrieger/homelab.git
cd homelab2. Mise installieren
Installiere mise und richte das Projekt ein:
mise run setup3. Konfigurationsdateien vorbereiten
# Alle Beispieldateien zu Konfigurationsdateien kopieren
find . -name "*.example" -type f | while read example_file; do
config_file="${example_file%.example}"
cp "$example_file" "$config_file"
donePasse alle REPLACE-ME Platzhalter in den kopierten Dateien mit den richtigen Werten an.
4. Tailscale einrichten
Richte Tailscale auf dem Server ein, sodass du über Tailscale SSH auf den Server zugreifen kannst.
5. Inventory konfigurieren
Passe die inventory.ini Datei mit deinem eingerichteten Benutzernamen an:
[beelink]
beelink ansible_user=<dein-username>6. Verbindung testen
mise run ansible:ping7. Server einrichten
mise run ansible:setup-server8. Backups konfigurieren
mise run ansible:setup-backups9. Berechtigungen einrichten
mise run ansible:setup-permissionsMehr Details: Zugriffskontrolle