No description
  • Jinja 91.6%
  • Shell 8.4%
Find a file
Kevin Heyer e98853bd0d
Some checks failed
/ image (push) Failing after 1h6m58s
/ publish (push) Has been skipped
/ lint (push) Successful in 8m19s
Add Paperless-ngx app
Native installation of Paperless-ngx from the GitHub release archive,
verified against the SHA-256 digest GitHub records for the asset. Each
release gets its own venv under /opt/paperless/releases, four sandboxed
units (Granian, consumer, Celery worker and beat), SQLite, Valkey as
module and a generated admin password. docker-compose.yml is a separate
variant with the official image.

The units only start once /etc/paperless.conf exists, because the VM
image enables them before the first boot writes the configuration.

Tested: check-app.sh green (lint, template files, dev container twice,
second run changed=1); login as admin with the access hint (API 200,
wrong password 401); update 3.3.1 -> 3.3.2 in the dev container incl.
migration and smoke test. VM image and boot test not run (CI).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018LDzb6u6SJhGbP4gE4w2LE
2026-10-17 00:19:26 +02:00
.forgejo/workflows Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
.vibe Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
files Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
handlers Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
tasks Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
templates Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
tests Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
.clinerules Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
.cursorrules Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
.windsurfrules Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
AGENTS.md Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
CHANGELOG.md Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
CLAUDE.md Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
docker-compose.yml Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
GEMINI.md Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
iac.json Add Paperless-ngx app 2026-10-17 00:19:26 +02:00
README.md Add Paperless-ngx app 2026-10-17 00:19:26 +02:00

iac-paperless-ngx

Paperless-ngx digitalisiert Dokumente, erkennt Text per OCR und archiviert sie durchsuchbar. Die LXC- und VM-Installation läuft nativ auf Debian 13; Docker Compose ist eine eigenständige Variante. Teil von iac.

Installation auf der Proxmox-Node

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

Die native Installation nutzt SQLite, Valkey, Tesseract OCR (Deutsch und Englisch), Port 8000 und legt einen Administrator admin an. Das Passwort steht im Gast in /etc/iac/settings.env (paperless_admin_password). Daten liegen unter /var/lib/paperless/; eingescannte Dateien können in consume/ abgelegt werden.

Die optionale Einstellung paperless_url konfiguriert die externe URL hinter einem Reverse Proxy. paperless_ocr_language und paperless_time_zone setzen OCR-Sprachen beziehungsweise Zeitzone. Paperless 3 erfordert eine manuelle Migration von bestehenden Paperless-2-Installationen; das Upstream-Migrationshandbuch ist vor einem Major-Upgrade zu beachten.

Docker Compose

Docker ist eine separate Variante und installiert Docker nicht in den LXC-/VM-Gästen.

mkdir -p paperless/consume paperless/export
cd paperless
curl -fsSLo docker-compose.yml https://iac.heyer.systems/paperless-ngx/docker-compose.yml
cat > .env <<'ENV'
PAPERLESS_SECRET_KEY=replace-with-a-long-random-secret
POSTGRES_PASSWORD=replace-with-a-long-random-password
PAPERLESS_ADMIN_PASSWORD=replace-with-a-long-random-password
ENV

Setze alle drei Werte mit sicheren Geheimnissen (zum Beispiel openssl rand -hex 32) und starte dann:

docker compose up -d

Paperless ist auf Port 8000 verfügbar; beim ersten Start legt das Image den Benutzer admin mit PAPERLESS_ADMIN_PASSWORD an. Daten und Datenbank werden in Docker-Volumes gehalten, Import und Export liegen im Compose-Verzeichnis. Aktualisierung: docker compose pull && docker compose up -d.

Selbsttest

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