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

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
computer:debian:hp-thinclient:versuch-1-thinc [2025/12/27 14:21] – removed - external edit (Unknown date) 127.0.0.1computer:debian:hp-thinclient:versuch-1-thinc [2025/12/27 14:21] (current) – ↷ Page moved from computer:hp-thinclient:versuch-1-thinc to computer:debian:hp-thinclient:versuch-1-thinc spring
Line 1: Line 1:
 +====== 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
 +
 +===== Boot-Disk verschlüsseln =====
 +
 +Entsprechend c't-Artikel {{ :computer: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 entfernen =====
 +  snap list
 +  # alle gelisteten Pakete
 +  snap remove 
 +  apt purge snapd
 +  rm -rf /var/snap /var/lib/snapd
 +  
 + 
 +===== Statische IP =====
 +
 +''/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''
 +          
 +
 +===== 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.1.1/docker-compose-`uname -s`-`uname -m` \
 +     -o /usr/local/bin/docker-compose
 +  chmod +x /usr/local/bin/docker-compose
 +  docker-compose -v
 +  
 +===== fail2ban =====
 +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.
 +
 +===== postfix =====
 +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 
 +  * {{ :computer:eingehenden_http-verkehr_mit_traefik_routen_c_t_magazin.pdf |}},
 +  * {{ :computer:tls-zertifikate_traefik_2_fuer_container_jenseits_von_https_c_t_magazin.pdf |}} und
 +  * https://twatzl.eu/blog/2020-08-01_4_traefik/
 +
 +  * 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 ======
 +===== Temporäre Superuser-Privilegien in der Datenbank =====
 +  ALTER USER oc_owncloud WITH SUPERUSER;
 +  
 +  ALTER USER oc_owncloud WITH NOSUPERUSER;
 +
 +===== DB Restore =====
 +'''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
 +
 +===== Preview Generation =====
 +https://serverok.in/install-preview-generator-in-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 ======
 +
 +