computer:debian:hp-thinclient:versuch-1-thinc

Verschlüsselter Docker-Server thinc

Hardware: HP t520 thin client mit 120GB SSD

OS: Ubuntu Focal Fossa

  • Minimum-Installation
  • Alle Updates
  • docker.io installiert
  • springm zur Gruppe docker hinzugefügt

Netzwerk: *.zalmoxis.aberdoch.de registriert

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 thinc.fritz.box

U.U. ist die ip 192.168.2.52, je nachdem wie die Fritzbox gelaunt ist…

snap list
# alle gelisteten Pakete
snap remove 
apt purge snapd
rm -rf /var/snap /var/lib/snapd

/etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: no
      addresses: 
        - 192.168.2.251/24
      gateway4: 192.168.2.254
      nameservers:
        addresses: [192.168.2.253, 9.9.9.9]
        

Aktivieren mit netplan apply

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.1.1/docker-compose-`uname -s`-`uname -m` \
   -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose -v

Nach https://tkaefer.de/blog/2021/12/07/follow-up-docker-and-fail2ban-how-i-solved-it-for-me/

sudo apt install sqlite3
sudo apt install fail2ban ipset

Konfiguration für dokuwiki in '/etc/fail2ban/jail.d/dokuwiki-403.conf'

[nginx-403]

enabled   = true
port      = http,https
filter    = nginx-403
logpath   = /home/springm/docker/dokuwiki/dokuwiki-data/log/nginx/access.log
maxretry  = 3
findtime  = 300
bantime   = 300
banaction = iptables-mangle-allports[name="nginx-403"]

und '/etc/fail2ban/filter.d/nginx-403.conf'

[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD).*HTTP.*" 403 .*(login|start)
ignoreregex =

Das Logging in dokuwiki muss so geändert sein, dass die echte IP und nicht die von traefik geloggt wird.

Installieren aus Repository apt install postfix bsd-mailx libsasl2-2 sasl2-bin libsasl2-modules

  • “Internet mit Smarthost”
  • E-Mail-Name des Systems: “thinc.fritz.box”
  • SMTP-Relay-Host: “mail.gmx.net”

Weitere Anweisungen von https://speefak.spdns.de/oss_lifestyle/debian-9-postfix-installation

dovecot

Installieren aus Repository apt install dovecot-imapd dovecot-sieve dovecot-managesieved

Traefik2

Entsprechend c't-Artikeln

  • zalmoxis.aberdoch.de als A-Name registriert, IP-Adressupdate initialisiert durch Fritzbox, automatisch durchgeführt durch http://192.168.2.253/dyn/dns.php
  • *.zalmoxis.aberdoch.de als Wildcard-Domainname registriert
  • Zertifikate werden von traefik-certs-dumper exportiert.
    TODO: automatischer Transport an die Stelle, von der sie dovecot und postfix nutzen können
  • Traefik Dashboard basic-auth geschützt
  • TCP-Weiterleitung für dovecot

Für einen weiteren Versuch interessant: https://zrezai-dev.de/projekt/traefik-nextcloud-docker-swarm/

Dokuwiki

Container von lscr.io/linuxserver/dokuwiki

Daten und Konfiguration in /home/springm/docker/dokuwiki/data

Nextcloud

ALTER USER oc_owncloud WITH SUPERUSER;

ALTER USER oc_owncloud WITH NOSUPERUSER;

'docker exec -it nextcloud-db-1 bash'

 su - postgres
 psql -U nextcloud nextcloud
 DROP SCHEMA public CASCADE; CREATE SCHEMA public; GRANT ALL ON SCHEMA public TO nextcloud;
 \q
 cat /database_dump/nextcloud-db-1.sql.gz | gunzip | psql -U nextcloud nextcloud

UptimeKuma

Rsnapshot

from https://github.com/linuxserver/docker-rsnapshot/pkgs/container/rsnapshot / https://docs.linuxserver.io/images/docker-rsnapshot

Todo:

  • Backup-Platte mounten
  • mailx im Container installieren mit apk install mailx - kann evtl auch im bash-skript vor dem ausführen von rsnapshot passieren
Abfrage mit  ''apk list mailx | wc -l''

* rsnapshot-bundle.sh kann man in's config-Verzeichnis legen

  • (rsnapshot-diffs könnten regelmäßig abgelegt werden.)

Watchtower

  • computer/debian/hp-thinclient/versuch-1-thinc.txt
  • Last modified: 2025/12/27 14:21
  • by spring