xapian_path/backend: xapian waren toter Datenmüll (StorageConfig hat kein xapian_path-Feld, wird beim YAML-Unmarshal stillschweigend ignoriert). Auf den tatsächlich genutzten Manticore-Default umgestellt (backend: manticore, manticore_dsn). Behebt das in PROJ-56 QA als INFO 3 dokumentierte, außerhalb des Scopes liegende Finding. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
96 lines
3.2 KiB
Plaintext
96 lines
3.2 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
|
||
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:
|
||
backend: manticore
|
||
manticore_dsn: "manticore@tcp(127.0.0.1:9306)/?charset=utf8mb4"
|
||
batch_size: 100
|
||
async_queue_size: 1000
|
||
# PROJ-58: batch_mode (optional, Default false wenn weggelassen).
|
||
# 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, Zeiten dort anpassbar).
|
||
# Glättet Schreiblast auf der Festplatte. false = sofortige, fortlaufende
|
||
# Indexierung. Für Neuinstallationen ist batch_mode hier standardmäßig
|
||
# aktiviert — bei Bedarf einfach auf false setzen.
|
||
batch_mode: true
|
||
|
||
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 wenn weggelassen).
|
||
# 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, Zeiten dort anpassbar). false = sofortige
|
||
# Verarbeitung. Für Neuinstallationen ist batch_mode hier standardmäßig
|
||
# aktiviert — bei Bedarf einfach auf false setzen.
|
||
ocr:
|
||
batch_mode: true
|
||
|
||
# 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
|