Archiv der Kategorie: Linux

paperless-ngx: Installation auf einem Hetzner Cloud-Server

In der folgenden Anleitung möchte ich kurz auf die Installation von paperless-ngx‘ Docker-Compose Stack unter einem frisch installierten Hetzner Cloud-Server mit Ubuntu 24.04 eingehen.

Schritt 1: Bestellprozess

Der Bestellprozess bei Hetzner wird durchlaufen, je nach Notwendigkeit wird ein entsprechend dimensionierter Hetzner Cloud-Server mit IPv4 oder ohne IPv4 (dann nur mit IPv6) bestellt. Wenn der Hetzner Cloud-Server verfügbar ist, erhält man die initialen Zugangsdaten zum root-Account per E-Mail.

paperless-ngx: Installation auf einem Hetzner Cloud-Server weiterlesen

Linux mit Hybrid-Grafiklösungen betreiben und unterschiedliche GPUs für Anwendungen verwenden

Einige Notebooks verfügen über eine sogenannte Hybrid-Grafiklösung, bei der sowohl eine in die APU integrierte Grafikeinheit als auch eine zusätzliche, dedizierte GPU verbaut ist. In diesem Fall handelt es sich um ein ASUS K73TK von Mitte 2012, das sind bis jetzt etwa 13 Jahre. Alt Grafiklösung hat das genannte Gerät eine AMD Radeon HD 6520G (integriert in der APU) und eine Radeon HD 7500M als separaten Grafikchip.

Unter Windows erfolgt die Steuerung der beiden GPUs in der Regel automatisch durch die Treibersoftware. Unter Linux dagegen bietet der Kernel die Möglichkeit, über die Funktion vga_switcheroo zwischen den GPUs umzuschalten. In meinem konkreten Fall ließ sich diese Funktion jedoch nicht erfolgreich nutzen – weder im Betrieb noch im Bootvorgang.

Linux mit Hybrid-Grafiklösungen betreiben und unterschiedliche GPUs für Anwendungen verwenden weiterlesen

Von einem Linux-Host beliebige UPnP-Portfreigaben des Routers anfordern

Um von einem Linux-Host automatische Portfreigaben/Portweiterleitungen per UPnP anzufordern, bietet sich auf der Kommandozeile upnpc an. Das Kommando erhält man unter gängigen Systemen durch die Installation des „miniupnpc“ Paketes.

Eine Portfreigabe kann man dann über

upnpc -a 192.168.188.157 22 2222 TCP

anfordern. Nutzt das eigene Linux-System mehrere Netzwerkinterfaces muss auch noch eine IP auf dem Interface oder ein Interface ansich mit dem Parameter „-m“ definiert werden:

upnpc -m eth2 -a 192.168.188.157 22 2222 TCP
Von einem Linux-Host beliebige UPnP-Portfreigaben des Routers anfordern weiterlesen

Bei linuxserver/docker-wireguard automatisch WireGuard-Clients im laufenden Betrieb hinzufügen

Für die Realisierung eines WireGuard-VPN in Sterntopologie nutze ich linuxserver/docker-wireguard. Das Docker Container-Image ist eines von vielen ganz hervorragenden Container-Images von linuxserver.io, welches mit einem gefestigten Featureset und regelmäßigen Updates kommt.

Leider sieht es im Standard nur vor, dass WireGuard-Peers per Umgebungsvariable „PEERS“ mit Komma getrennt eingestellt werden. Peers, die nicht mehr oder noch nicht in der Liste sind, werden auch nicht als solche in der vom Server verwendeten wg01.conf eingetragen und sind damit nicht in der Lage, eine Verbindung aufzubauen. Wie ich das unkompliziert gelöst habe, ohne das Container-Image anzupassen, möchte ich hier zeigen:

Bei linuxserver/docker-wireguard automatisch WireGuard-Clients im laufenden Betrieb hinzufügen weiterlesen

Kurz: Dell R7715 mit iPXE crasht

Wenn ein ziemlich neuer Dell R7715 Server oder Server dieser Serie nach einem Bootvorgang z. B. von Ubuntu 24.04 mittels iPXE (Netzwerkboot) crasht und davor gerade noch diese Textzeilen emittieren kann:

EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
EFI stub: Measured initrd data into PCR 9

Empfiehlt es sich, die aktuellste iPXE-Version aus dem GitHub-Repository zu laden und selbst zu kompilieren. Dabei ist darauf zu achten nicht das Release-Tag 1.21.1 zu nutzen, sondern wirklich die aktuellste Version aus dem Master-Branch. 1.21.1 ist 5 Jahre alt und mit den neuesten Hardware-Komponenten nicht mehr ganz kompatibel.

Nach dem iPXE-Update war ich in der Lage, Ubuntu 24.04 übers Netzwerk zu installieren.

Webhook-Queue in paperless-ngx löschen

Spielt man ein bisschen mit den Workflows „Arbeitsabläufen“ in paperless-ngx, kann es passieren, dass man versehentlich viele Webhook-Calls generiert, indem man z. B. für seine gesamte Dokumentensammlung Webhooks durch den Auslöser „Geplant“ auslöst, die dann allesamt in der nachgelagerten Redis-Datenbank feststecken und unter Umständen nur noch sehr langsam oder gar nicht mehr abgearbeitet werden, weil die externe API, welcher der Webhook-Call galt, nicht mehr mitmacht.

Eine pragmatische Lösung dazu ist, die gesamte Warteschlange an wartenden Webhook-Calls zu entfernen. Im Docker-basierten paperless-ngx ginge das wie folgt:

Webhook-Queue in paperless-ngx löschen weiterlesen