- Jinja 51.5%
- Shell 48.5%
Grimmory from the GitHub release asset grimmory.jar, verified against the SHA256 digest GitHub records for it, run with OpenJDK 25 from Debian and MariaDB as module. One sandboxed unit on port 6060. Grimmory creates its first user only through its setup API, so the unit's ExecStartPost (root, outside the sandbox) posts the admin with grimmory_admin_password while no user exists – no open browser wizard. Tested: iac-core/tools/check-app.sh green (lint, template files, dev container twice, second run changed=1); login with the access hint from outside the container, setup API answers 403 afterwards; update path 3.4.1 -> 3.5.0 in the dev container with smoke test green. VM image and boot test not run yet (CI after push). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MeUbWo51e9wkypK1ygruJ9 |
||
|---|---|---|
| .forgejo/workflows | ||
| .vibe | ||
| files | ||
| handlers | ||
| tasks | ||
| templates | ||
| tests | ||
| .clinerules | ||
| .cursorrules | ||
| .windsurfrules | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| GEMINI.md | ||
| iac.json | ||
| README.md | ||
iac-grimmory
Grimmory ist eine selbst gehostete Bibliothek für E-Books, Comics und Hörbücher: Metadaten-Abruf, Lesen im Browser, OPDS, Kobo- und KOReader-Sync und BookDrop-Import. Installiert nativ auf Debian 13 als LXC oder VM auf Proxmox VE. Teil von iac.
Installation (auf der Proxmox-Node)
bash -c "$(curl -fsSL https://iac.heyer.systems/grimmory/ct.sh)" # LXC
bash -c "$(curl -fsSL https://iac.heyer.systems/grimmory/vm.sh)" # VM
Ohne Dialog: IAC_NONINTERACTIVE=1 und var_*-Variablen – am einfachsten mit dem Generator auf
https://iac.heyer.systems/apps/grimmory/.
Anmeldung
Web-Oberfläche: http://<IP>:6060/ – Benutzer admin, Passwort im Gast:
grep grimmory_admin_password /etc/iac/settings.env
Den Admin legt iac beim ersten Start über die Setup-API von Grimmory an, solange es noch keinen Benutzer gibt; der Einrichtungsassistent im Browser ist damit sofort geschlossen. Ein später geändertes Passwort fasst iac nicht mehr an.
Was installiert wird
grimmory.jaraus dem GitHub-Release (Web-Oberfläche inklusive), geprüft gegen den SHA256-Digest, den GitHub für das Asset speichert. Liegt in/opt/grimmory/, gehört root.- OpenJDK 25 aus Debian, libarchive für Comic-Archive.
- MariaDB aus Debian als Modul
mariadb(nur localhost), Datenbank und Benutzergrimmory. - Dienst
grimmory(systemd, als Benutzergrimmory, Sandbox), Port 6060 – Web-Oberfläche, OPDS, Kobo-Sync, aus dem Netz erreichbar. Kein TLS: dafür einen Reverse Proxy davorsetzen.
Nicht enthalten: kepubify (Kobo-KEPUB-Konvertierung) und ffprobe (Kapitel von Hörbüchern).
Wer sie braucht, legt die Programme nach /var/lib/grimmory/data/tools/ oder installiert
ffmpeg mit apt.
Daten und Konfiguration
| Pfad | Inhalt |
|---|---|
/var/lib/grimmory/books/ |
Vorschlag für die Bibliothek (in Grimmory als Bibliotheksordner anlegen) |
/var/lib/grimmory/bookdrop/ |
BookDrop – hier abgelegte Dateien werden importiert |
/var/lib/grimmory/data/ |
Cover, Thumbnails, Einstellungen |
MariaDB grimmory |
Bücher, Benutzer, Lesefortschritt |
/etc/grimmory/grimmory.env |
von iac verwaltet (Port, Datenbank, Pfade) |
/etc/grimmory/grimmory.local.env |
eigene Einstellungen, z. B. ALLOWED_ORIGINS, JDK_JAVA_OPTIONS |
Der Dienst darf nur unter /var/lib/grimmory schreiben. Bücher an anderer Stelle (z. B. ein
NFS-Mount unter /mnt/books) sind lesbar; soll Grimmory dort auch schreiben, mit
systemctl edit grimmory ergänzen:
[Service]
ReadWritePaths=/mnt/books
Update (im Gast)
update
Lädt ein neueres Release, stellt /opt/grimmory/grimmory.jar um und startet den Dienst neu;
Grimmory migriert die Datenbank beim Start selbst (Flyway). Alte JAR-Dateien werden entfernt.
Selbsttest (im Gast)
bash /var/lib/iac/src/core/bin/iac-smoke