Files
archivmail/config/config.docker.yml.example
T
sysopsandClaude Sonnet 4.6 fae274f930 feat(PROJ-58): Indexierung + OCR optional als Cron-Batch statt Dauerbetrieb
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>
2026-06-24 23:07:17 +02:00

93 lines
2.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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:0006: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