Zum Inhalt

PC oder Mini-PC mit Linux

Geprüft: Image automatisch, Gerät noch nicht

Das Image prüfen die Rechner von GitHub bei jeder Änderung auf amd64 und arm64. Von einem bestimmten Gerät gibt es hier noch keine Meldung. Was das heißt, steht unter Geprüfte Plattformen.

Ein alter Bürorechner, ein ausgedienter Laptop oder ein kleiner Mini-PC mit Intel- oder AMD-Prozessor reicht für Ablago gut aus. Diese Seite ist auch die Grundlage für virtuelle Maschinen. Für den Raspberry Pi gibt es eine eigene Anleitung Schritt für Schritt mit Einrichtungsskript.

Du brauchst: 2 GB Arbeitsspeicher oder mehr, etwa 20 GB für System und Programme, dazu Platz für deine Dokumente und Sicherungen. Eine SSD macht Ablago spürbar schneller.

1. Linux installieren

Ein schlankes Server-System ohne Desktop genügt, z. B. Debian oder Ubuntu Server (LTS). Beim Installieren den SSH-Server mit auswählen, dann kannst du den Rechner später ohne Bildschirm vom eigenen PC aus bedienen.

2. Docker installieren

Docker empfiehlt für einen Rechner, der dauerhaft läuft, die eigene Paketquelle von Docker: Dann kommt Docker über die Programmverwaltung apt und wird mit dem System zusammen aktualisiert. Die Befehle unten stammen unverändert aus der offiziellen Anleitung von Docker für Debian bzw. Ubuntu. Kopiere die Kästen einzeln und warte jeweils, bis die Eingabezeile wieder erscheint. Die Raspberry-Pi-Anleitung erklärt jede Zeile.

Erstens: Werkzeuge bereitlegen (Debian und Ubuntu gleich):

sudo apt update
sudo apt install ca-certificates curl

Zweitens: die Paketquelle von Docker eintragen – für Debian:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update

… oder für Ubuntu:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update

Drittens: Docker installieren (Debian und Ubuntu gleich) und deinem Benutzer erlauben, Docker ohne sudo zu benutzen:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER   # danach einmal ab- und wieder anmelden
docker compose version          # prüft, ob Compose dabei ist

Andere Distributionen (Fedora, RHEL, …) haben eigene Anleitungen in der Docker-Dokumentation.

Für Fortgeschrittene: das Installationsskript von Docker

Docker bietet auch ein Skript an, das alles oben in einem Rutsch erledigt:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Docker selbst empfiehlt das Skript aber nur für Test- und Entwicklungsumgebungen, nicht für einen Rechner, der dauerhaft läuft. Für deinen Rechner mit echten Unterlagen nimm deshalb den Weg oben. Das Skript richtet dieselbe Paketquelle ein; Updates kommen danach ebenfalls über apt.

Offizielle Anleitung: Docker Engine installieren · Docker ohne sudo benutzen

3. Ablago starten

Empfohlen: zwei Container (Ablago und PostgreSQL, siehe Ein oder zwei Container?):

mkdir -p ~/dms && cd ~/dms
curl -fsSLo docker-compose.yml https://raw.githubusercontent.com/motom001/dms/main/deploy/nas/docker-compose.yml
sed -i 's#/volume1/docker/dms#./daten#' docker-compose.yml
echo "DB_PASSWORD=$(openssl rand -hex 24)" > .env
docker compose up -d
docker compose logs app | grep -A1 Einrichtungscode

Alternative: ein Container (dms-komplett, z. B. zum Ausprobieren), ohne .env und Passwort:

mkdir -p ~/dms && cd ~/dms
curl -fsSLo docker-compose.yml https://raw.githubusercontent.com/motom001/dms/main/deploy/komplett/docker-compose.yml
docker compose up -d
docker compose logs dms | grep -A1 Einrichtungscode

Bei zwei Containern liegen die Daten damit in ~/dms/daten, bei dms-komplett direkt in ~/dms (files, geheim, sicherung, postgres). Hast du für Dokumente oder Sicherungen eine eigene Platte, trägst du deren Pfade in der docker-compose.yml ein. Weiter geht es im Browser unter http://<Rechner>:8080, wie unter Jeder Server mit Docker beschrieben.

4. Den Rechner zum Server machen

  • Nicht schlafen gehen: Ein Server-System ohne Desktop schläft normalerweise nicht. Auf einem Laptop oder mit Desktop schaltest du den Ruhezustand ab:
    sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
    
    Beim Laptop zusätzlich in /etc/systemd/logind.conf HandleLidSwitch=ignore setzen, damit er bei geschlossenem Deckel weiterläuft.
  • Nach Stromausfall wieder an: Im BIOS/UEFI die Einstellung Restore on AC Power Loss (o. ä.) auf Power On stellen. Die Container starten danach von selbst wieder.
  • Feste Adresse: Im Router dem Rechner immer dieselbe IP-Adresse geben (DHCP-Reservierung). Dann bleibt die Adresse von Ablago gleich.
  • Updates des Systems: Unter Debian und Ubuntu übernimmt das Paket unattended-upgrades die Sicherheitsupdates.

Sicherung

Die Sicherungen von Ablago landen im Ordner sicherung auf demselben Rechner. Fällt die Platte aus, sind sie mit weg. Kopiere den Ordner deshalb regelmäßig woandershin, z. B. auf eine USB-Platte, ein NAS oder in einen Cloudspeicher (etwa mit rclone). Mehr dazu unter Sicherung.