Neues config.yml-Feld batch_mode (index/ocr, Default false = unverändertes Verhalten). Bei batch_mode:true verarbeiten neue Cron-Jobs (index-pending, ocr-reprocess) die Backlogs in größeren Abständen statt sofort bei jedem Mail-Import, um Schreiblast auf der Festplatte zu glätten. Zeiten in /etc/cron.d/archivmail frei anpassbar. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
93 lines
2.9 KiB
Plaintext
93 lines
2.9 KiB
Plaintext
# archivmail Docker-Konfiguration
|
||
# Kopieren nach: /etc/archivmail/config.yml
|
||
# Wird als Read-Only-Volume in den Container gemountet.
|
||
|
||
server:
|
||
api_port: 8080
|
||
smtp_port: 2525
|
||
|
||
database:
|
||
host: postgres # Docker Compose Service-Name (nicht localhost!)
|
||
port: 5432
|
||
name: archivmail
|
||
user: archivmail
|
||
password: CHANGE_ME_DB_PASSWORD
|
||
sslmode: disable
|
||
|
||
storage:
|
||
store_path: /var/archivmail/store
|
||
astore_path: /var/archivmail/astore
|
||
xapian_path: /var/archivmail/xapian
|
||
keyfile: /etc/archivmail/keyfile
|
||
# PROJ-34: GoBD-Löschsperre in Tagen (0 = keine; z.B. 3650 für 10 Jahre)
|
||
retention_days: 0
|
||
# PROJ-51: globale Mindest-Aufbewahrungsfrist; Regeln/Mandanten dürfen nur
|
||
# verlängern, nie verkürzen (0 = keine Mindestfrist)
|
||
min_retention_days: 0
|
||
|
||
index:
|
||
path: /var/archivmail/xapian
|
||
backend: xapian
|
||
batch_size: 100
|
||
async_queue_size: 1000
|
||
# PROJ-58: batch_mode (optional, default false).
|
||
# true = der Dauerbetrieb-Index-Worker wird NICHT gestartet; neue Mails
|
||
# bleiben indexed_at IS NULL bis der Cron-Job 'archivmail index-pending'
|
||
# sie verarbeitet (siehe deploy/cron.d/archivmail). Glättet Schreiblast.
|
||
# false (Default) = sofortige, fortlaufende Indexierung wie bisher.
|
||
# batch_mode: false
|
||
|
||
api:
|
||
bind: "0.0.0.0:8080"
|
||
secret: CHANGE_ME_64_CHAR_SECRET
|
||
secure_cookies: true
|
||
trusted_proxies:
|
||
- "172.16.0.0/12" # Docker-interne Netzwerke
|
||
- "127.0.0.1"
|
||
|
||
smtp:
|
||
enabled: true
|
||
bind: "0.0.0.0:2525"
|
||
domain: mail.example.com
|
||
max_size_mb: 25
|
||
allowed_ips:
|
||
- "0.0.0.0/0"
|
||
- "::/0"
|
||
tenant_routing: default
|
||
default_tenant_id: 1
|
||
|
||
imap_server:
|
||
enabled: false
|
||
bind: "0.0.0.0:1143"
|
||
|
||
# PROJ-56: OCR-Last-Entzerrung (optional).
|
||
# paused_hours definiert ein lokales Zeitfenster [start, end), in dem der
|
||
# OCR-Worker NICHT verarbeitet (Aufträge bleiben als pending erhalten).
|
||
# Wrap-around über Mitternacht wird unterstützt, z.B. [22, 6] = Pause 22:00–06:00.
|
||
# Ohne Sektion / ohne paused_hours: altes Verhalten (immer aktiv).
|
||
# ocr:
|
||
# paused_hours: [8, 18] # OCR pausiert während der Geschäftszeiten
|
||
#
|
||
# PROJ-58: ocr.batch_mode (optional, default false).
|
||
# true = der Dauerbetrieb-OCR-Worker wird NICHT gestartet; neue Mails bleiben
|
||
# ocr_status='pending' bis der Cron-Job
|
||
# 'archivmail ocr-reprocess --status pending' sie verarbeitet
|
||
# (siehe deploy/cron.d/archivmail). false (Default) = sofortige Verarbeitung.
|
||
# ocr:
|
||
# batch_mode: false
|
||
|
||
# PROJ-56: IMAP-Sync-Jitter (optional).
|
||
# jitter_seconds verteilt den tatsächlichen Sync-Start jedes Accounts
|
||
# deterministisch (abgeleitet aus Account-ID) über dieses Fenster, damit nicht
|
||
# alle Postfächer auf derselben Minutengrenze pollen.
|
||
# Weglassen der Sektion = Default 240s (4 Min). jitter_seconds: 0 = deaktiviert.
|
||
# imap_scheduler:
|
||
# jitter_seconds: 240
|
||
|
||
audit:
|
||
log_path: /var/archivmail/audit.log
|
||
retention_days: 365
|
||
|
||
logging:
|
||
level: info
|