Files
paperlessmanager/.env.example
T
bjoernpoettker b1b30fe1dd
Build and Push Multi-Platform Images / build-and-push (push) Successful in 41s
feat: auto-move imported emails to IMAP folder and add 90-day cleanup
- New ImapFolderService moves emails to configurable "importiert" folder
  after successful import, creating the folder if it doesn't exist
- Daily cron at 03:00 moves emails older than 90 days to trash and empties it
- Extract createImapClient() helper in EmailDownloadService
- Add ensurePageCache() with in-flight deduplication to BarcodeScannerService
- InboxService regenerates page cache on-demand when image file is missing
- IMAP_IMPORTED_FOLDER and IMAP_TRASH_FOLDER added to .env.example and docker-compose

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 13:53:56 +02:00

76 lines
2.9 KiB
Bash

# =============================================================================
# Paperless Manager - Docker Compose Konfiguration
# =============================================================================
# Kopiere diese Datei nach .env und passe die Werte an.
#
# Lokal: VITE_API_URL=http://localhost:3100 (direkter Zugriff)
# Produktion: VITE_API_URL leer lassen (nginx Reverse-Proxy leitet /api weiter)
# =============================================================================
# --- Ports ---
BACKEND_PORT=7601
FRONTEND_PORT=7600
# --- MySQL Datenbank (extern) ---
DB_HOST=192.168.1.x
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=changeme
DB_DATABASE=paperlessadd
# --- Paperless-ngx ---
PAPERLESS_URL=http://paperless:8000
PAPERLESS_TOKEN=your_paperless_api_token
# --- Ollama OCR ---
OLLAMA_URL=http://ollama:11434
OLLAMA_MODEL=llava
# --- Scanner ---
SCANNER_WATCH_DIR=/data/scanner
SCANNER_ARCHIVE_DIR=/data/scanner/_processed_archive
# --- OIDC / Authentik ---
OIDC_ISSUER=https://auth.example.com/application/o/your-app-slug
OIDC_CLIENT_ID=your-oidc-client-id
OIDC_REDIRECT_URI=https://dokumente.example.com/auth/callback
# --- Frontend API-URL ---
# Lokal: http://localhost:3100 (Backend direkt)
# Produktion: leer lassen (nginx proxied /api → Backend)
VITE_API_URL=
# --- Interne Belegnummer API ---
# Platzhalter {Jahr} wird zur Laufzeit durch das Jahr des Eingangsdatums ersetzt
BELEGNUMMER_GET_URL=https://beispiel-api.de/get-number/{Jahr}
BELEGNUMMER_SET_URL=https://beispiel-api.de/set-number/{Jahr}/{Nummer}
# --- CORS ---
# Erlaubte Frontend-Origin für CORS. In Produktion PFLICHT (z.B. https://paperless.example.com).
# Leer lassen für lokale Entwicklung (erlaubt alle Origins).
# NODE_ENV=production ohne CORS_ORIGIN blockiert alle Cross-Origin-Anfragen.
CORS_ORIGIN=
# --- Agrarmonitor ---
AGRARMONITOR_BASE_URL=https://admin7.agrarmonitor.de
AGRARMONITOR_API_BASE_URL=https://api.agrarmonitor.de
AGRARMONITOR_USERNAME=
AGRARMONITOR_PASSWORD=
AGRARMONITOR_API_TOKEN=
AGRARMONITOR_COOKIE_PATH=./data/agrarmonitor-cookies.json
AGRARMONITOR_ENCRYPTION_KEY= # optional, 16+ Zeichen für Cookie-Verschlüsselung
AGRARMONITOR_POLLING_CRON=0 */30 * * * * # Polling-Intervall (Standard: alle 30 Minuten); leer lassen zum Deaktivieren
AGRARMONITOR_UPLOAD_CHECK_CRON=0 * * * * * # Upload-Check-Intervall (Standard: einmal pro Minute); leer lassen zum Deaktivieren
# --- Täglicher Digest ---
# Basis-URL der App für klickbare Links in Digest-E-Mails (z.B. https://paperless.example.com)
# Leer lassen: E-Mails werden ohne Links versendet
APP_URL=
DAILY_DIGEST_CRON= # Standard: 0 7 * * * (täglich 07:00 Uhr Europe/Berlin)
# --- IMAP-Ordnerverwaltung ---
# Zielordner für importierte E-Mails (wird automatisch angelegt falls nicht vorhanden)
IMAP_IMPORTED_FOLDER=importiert
# Papierkorb-Ordner für die 90-Tage-Bereinigung (Gmail: "[Gmail]/Papierkorb", Outlook: "Deleted Items")
IMAP_TRASH_FOLDER=Trash