985a33d3f9
- pdf-ocr-hotfolder@<name>.service mit Config pro Instanz - install.sh als Instanz-Manager: erkennt bestehende, fragt nach weiteren - Optional eigener Service-User pro Instanz (systemd drop-in) - update.sh stoppt/startet alle aktiven Instanzen automatisch Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# Changelog
|
|
|
|
## [0.2.0] - 2026-04-08
|
|
|
|
### Added
|
|
- **Multi-Instanz-Support** via systemd Template-Unit `pdf-ocr-hotfolder@<name>.service`
|
|
- Pro Instanz: eigene Config (`/etc/pdf-ocr-hotfolder/<name>.toml`), eigene Datenverzeichnisse (`/var/lib/pdf-ocr-hotfolder/<name>/…`), optional eigener Service-User via Drop-in
|
|
- **Instanz-Manager in `install.sh`**: erkennt bestehende Instanzen bei Re-Run, fragt nach weiteren, listet Namen + Status
|
|
- `update.sh` stoppt/startet automatisch **alle** laufenden Instanzen
|
|
|
|
### Changed
|
|
- Single-Unit `pdf-ocr-hotfolder.service` durch Template-Unit `pdf-ocr-hotfolder@.service` ersetzt
|
|
- Installer fragt nicht mehr einmalig nach Service-User, sondern **pro Instanz**
|
|
|
|
### Removed
|
|
- Alte Single-Config unter `/etc/pdf-ocr-hotfolder/config.toml` — wird nicht mehr erzeugt
|
|
|
|
## [0.1.0] - 2026-04-08
|
|
|
|
### Added
|
|
- Initiale Version (Komplettes Rewrite des alten Bash-Tools `pdf-tool`)
|
|
- Python-Implementation auf Basis von `ocrmypdf` (Library, kein Subprozess)
|
|
- Hotfolder-Watcher mit `watchdog` (created/moved/closed Events)
|
|
- File-Stability-Check (wartet bis Scanner fertig geschrieben hat)
|
|
- ThreadPool für parallele PDF-Verarbeitung (`max_workers`)
|
|
- Upload-Targets: lokaler Ordner, Nextcloud (WebDAV via `requests`), SFTP (`paramiko`)
|
|
- E-Mail-Notify (`smtplib`, immer / nur Fehler / nie)
|
|
- Optional veraPDF-Validierung
|
|
- TOML-Konfiguration (`tomllib` aus stdlib, Python ≥3.11)
|
|
- systemd-Unit mit Hardening-Optionen
|
|
- `install.sh` mit interaktivem Service-User-Prompt
|
|
(lokal anlegen oder bestehenden lokalen/AD-User übernehmen)
|
|
- `update.sh` mit Backup, Code-Sync und Service-Reload
|
|
- README.md, AI_AGENT_BRIEFING.md
|