ingest: Initial implementation

Bot that monitors a Matrix room for PDF and JPEG files and uploads
them to Paperless-ngx. Supports E2E encrypted attachments via inline
AES keys, historical catchup on startup, exponential backoff retries
with a permanent give-up after max attempts, file format validation
via magic bytes, Uptime Kuma heartbeat monitoring, and email alerts
on errors via SMTP SSL.
This commit is contained in:
Jeena 2026-03-11 13:43:48 +00:00
commit d5a3528cde
7 changed files with 1844 additions and 0 deletions

15
pyproject.toml Normal file
View file

@ -0,0 +1,15 @@
[project]
name = "matrix-paperless-ingest"
version = "0.1.0"
description = "Ingest PDF and JPEG files from a Matrix room into Paperless-ngx"
requires-python = ">=3.11"
dependencies = [
"matrix-nio[e2e]>=0.24",
"httpx>=0.27",
"python-dotenv>=1.0",
"aiosqlite>=0.20",
]
[tool.uv]
package = false