No description
Find a file
Kevin Heyer 63aaf080cc
All checks were successful
/ image (push) Successful in 18m10s
/ lint (push) Successful in 8m0s
/ publish (push) Successful in 18s
Add PDFium for PDF rendering
Install libpdfium.so from bblanchon/pdfium-binaries, the same build
(chromium/7763) that Stump's own Docker image uses, verified against
the GitHub asset digest. stump.service points PDFIUM_PATH at
/opt/pdfium, so pdfium_path in Stump.toml can still override it.

Allow AF_NETLINK in the sandbox: Stump reads its own IP for the default
allowed origins and logged an error without it.

Tested: check-app.sh green (second run changed=1); a test PDF library in
the dev container scans, page 1 and the thumbnail render (HTTP 200,
image/webp); update path 0.1.9 -> 0.1.10 with smoke test green.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 08:37:47 +02:00
.forgejo/workflows Add Stump app 2026-10-20 08:25:53 +02:00
.vibe Add Stump app 2026-10-20 08:25:53 +02:00
files Add PDFium for PDF rendering 2026-10-20 08:37:47 +02:00
handlers Add Stump app 2026-10-20 08:25:53 +02:00
tasks Add PDFium for PDF rendering 2026-10-20 08:37:47 +02:00
templates Add Stump app 2026-10-20 08:25:53 +02:00
tests Add PDFium for PDF rendering 2026-10-20 08:37:47 +02:00
.clinerules Add Stump app 2026-10-20 08:25:53 +02:00
.cursorrules Add Stump app 2026-10-20 08:25:53 +02:00
.windsurfrules Add Stump app 2026-10-20 08:25:53 +02:00
AGENTS.md Add PDFium for PDF rendering 2026-10-20 08:37:47 +02:00
CHANGELOG.md Add PDFium for PDF rendering 2026-10-20 08:37:47 +02:00
CLAUDE.md Add Stump app 2026-10-20 08:25:53 +02:00
GEMINI.md Add Stump app 2026-10-20 08:25:53 +02:00
iac.json Add PDFium for PDF rendering 2026-10-20 08:37:47 +02:00
README.md Add PDFium for PDF rendering 2026-10-20 08:37:47 +02:00

iac-stump

Stump – Server für Comics, Manga und E-Books (CBZ, CBR, EPUB, PDF) mit Web-Reader, OPDS-Feeds und KOReader-/Kobo-Sync – als LXC oder VM auf Proxmox VE. Teil von iac.

Nur amd64 (Stump veröffentlicht Linux-Builds nur für x86_64).

Installation (auf der Proxmox-Node)

bash -c "$(curl -fsSL https://iac.heyer.systems/stump/ct.sh)"   # LXC
bash -c "$(curl -fsSL https://iac.heyer.systems/stump/vm.sh)"   # VM

Ohne Dialog: IAC_NONINTERACTIVE=1 und var_*-Variablen – am einfachsten mit dem Generator auf https://iac.heyer.systems/apps/stump/.

Zugriff

Port Was Erreichbar
10801/tcp Web-UI, API, OPDS (/opds/v1.2/catalog, /opds/v2.0/catalog) nur private Netze

Anmeldung als admin (Server-Owner). Das Passwort wird pro Instanz erzeugt:

grep stump_admin_password /etc/iac/settings.env

Es gibt keinen Einrichtungsassistenten im Browser: iac legt den Owner bei der Installation über eine nur lokal erreichbare Instanz an, erst danach startet stump.service. Ein später geändertes Passwort fasst iac nicht an. Passwort vergessen: runuser -u stump -- env STUMP_CONFIG_DIR=/var/lib/stump /opt/stump/stump_server account reset-password --username admin.

Stump spricht selbst kein TLS. Außerhalb des LAN gehört ein Reverse-Proxy mit TLS davor (z. B. iac-traefik); dann in Stump.toml allowed_origins um die externe Adresse ergänzen und trust_proxy_headers = true setzen.

Bücher

Bibliotheken legt man in der Web-UI an (Settings → Libraries). Vorgesehen ist /srv/stump, z. B. /srv/stump/comics. Einen Ordner vom Proxmox-Host hängt man als Bind-Mount dorthin. Andere Pfade erlaubt die Sandbox erst nach systemctl edit stump:

[Service]
ReadWritePaths=/mnt/buecher

PDFs rendert Stump mit PDFium. iac installiert denselben Build, den Stumps eigenes Docker-Image verwendet (derzeit chromium/7763), nach /opt/pdfium. Eine andere Bibliothek trägt man als pdfium_path in Stump.toml ein.

Dateien

Pfad Inhalt
/var/lib/stump/Stump.toml eigene Einstellungen – Stump schreibt die Datei bei jedem Start neu, behält aber gesetzte Werte
/var/lib/stump/stump.db Datenbank (SQLite): Benutzer, Bibliotheken, Lesefortschritt
/var/lib/stump/thumbnails, cache Vorschaubilder, Cache
/var/lib/stump/Stump.log Log (zusätzlich journalctl -u stump)
/var/lib/stump/.iac-owner Marke: Owner ist angelegt, stump.service darf starten
/srv/stump Bücher
/opt/stump Link auf /opt/stump-<version>: stump_server und Web-Client aus den GitHub-Releases
/opt/pdfium Link auf /opt/pdfium-<build>: libpdfium.so mit Lizenzen

Nach einer Änderung an Stump.toml: systemctl restart stump.

Update (im Gast)

update

Installiert wird die in iac.json festgeschriebene, getestete Version (Renovate erhöht sie). Das neue Release kommt nach /opt/stump-<version>, /opt/stump zeigt darauf, Stump wird neu gestartet und muss antworten – sonst geht es zurück auf das alte Release. Stump migriert die Datenbank beim Start; vor einem Update lohnt eine Kopie von /var/lib/stump.

PDFium wird nicht von Renovate erhöht: Der Build steht in tasks/main.yml und folgt von Hand dem docker/Dockerfile des installierten Stump-Releases. Bei einem Wechsel entfernt iac den alten Build.

Prüfsummen: Weder Stump noch pdfium-binaries veröffentlichen Checksummen-Dateien. Geprüft wird gegen die SHA-256, die GitHub für jedes Release-Asset ausweist (digest in der Releases-API).

Selbsttest (im Gast)

bash /var/lib/iac/src/core/bin/iac-smoke