This is an old revision of the document!
Neuaufbau Backup- und Medienserver 'hermes'
Hardware: Intel-MiniITX mit 4-Kern-Atom
OS: Ubuntu 20.03 Server
- Minimum-Installation nur SSD, 8TB-Platte nachträglich hinzugefügt
- Alle Updates
- docker.io installiert
- springm zur Gruppe docker hinzugefügt
8TB-Backupdisk hinzufügen
siehe auch https://wiki.zalmoxis.aberdoch.de/doku.php?id=computer:ubuntu:keyfile-based_luks_decryption
sudo dd if=/dev/urandom of=/root/.keyfile bs=1024 count=4 chmod 0400 /root/.keyfile cryptsetup luksOpen /dev/sdb1 backupdisk --key-file /root/.keyfile
/etc/crypttab erweitern ( UUID mit blkid ermitteln)
backupdisk UUID=efb4986f-ad45-4b80-af4d-13c2782393a8 /root/.keyfile luks,discard
/etc/fstab erweitern:
/dev/mapper/backupdisk /backupdisk btrfs defaults 0 2
mkdir /backupdisk mount -a
Boot-Disk verschlüsseln
Entsprechend c't-Artikel luks_verschluesselte_linux-systeme_ueber_ssh_entsperren_c_t_magazin.pdf
apt install dropbear-initramfs
Die ssh-public-keys liegen in /etc/dropbear-initramfs/authorized_keys. Nach Änderung muss das initramfs aktualisiert werden:
update‐initramfs ‐u
Entsperren mit ssh -v -p 20022 hermes.fritz.box (IP: 192.168.2.252)
Ubuntu-Cloud-Init entfernen
Prevent start
Create an empty file to prevent the service from starting
sudo touch /etc/cloud/cloud-init.disabled
Uninstall
Disable all services (uncheck everything except “None”):
sudo dpkg-reconfigure cloud-init
Uninstall the package and delete the folders
sudo apt-get purge cloud-init sudo rm -rf /etc/cloud/ && sudo rm -rf /var/lib/cloud/
Docker-Compose
apt update && apt upgrade && apt install docker.io sudo systemctl enable --now docker usermod -aG docker springm reboot
# check for latest version curl -L https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-`uname -s`-`uname -m` \ -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose docker-compose -v
Rsnapshot
from https://github.com/linuxserver/docker-rsnapshot/pkgs/container/rsnapshot / https://docs.linuxserver.io/images/docker-rsnapshot
- Backup-Platte gemounted auf /backupdisk
- config-, exclude- und pre_rsnapshot-Dateien in ~springm/docker/rsnapshot/config abgelegt
- pre_rsnapshot-Dateien erweitern um “apk add” für benötigte Pakete
Todo
- rsnapshot-bundle.sh kann man in's config-Verzeichnis legen
- (rsnapshot-diffs könnten regelmäßig abgelegt werden.)
Traefik2
Alle Docker-Server-Daten sind in /srv. Docker-Konfiguration ist in ~springm/docker. Traefik-Logs sind in /srv/logs/traefik.log
Domain iris.aberdoch.de und CNAME *.iris sind bei cloudflare registriert. Achtung: iris.aberdoch.de darf im pihole keinen Eintrag haben, da sonst die Zertifikatsgenerierung mit letsencrypt nicht mehr funktioniert.
cd docker docker network create proxy sudo touch acme.json sudo chmod 0600 acme.json