# OpenDKIM — per-domain signing (spec 6). # # Signing is strictly per-domain: each sending domain has its own key pair and # selector. The panel generates keys under /data/opendkim/keys// and # keeps KeyTable/SigningTable in sync as domains are added or removed, then asks # supervisord to send this process SIGUSR1 to reload the tables (spec 6.2, 6.5). # # Both table files are created (empty) by entrypoint.sh before OpenDKIM starts, # so the daemon comes up cleanly on a fresh /data with no domains yet and simply # signs nothing until the first domain is added. Syslog no UMask 007 Mode s # SigningTable uses refile: so the "*@example.com" left-hand patterns match any # local-part for a domain; KeyTable maps each domain to its key and selector. KeyTable /data/opendkim/KeyTable SigningTable refile:/data/opendkim/SigningTable # The private keys are owned by `panel` and read by `opendkim` through the shared # `selfpost` group, so they are deliberately group-readable (mode 0640). That is # safe on this single-tenant, private bind mount, but it trips OpenDKIM's default # key-safety check, so the check is disabled here by design. RequireSafeKeys no Socket local:/run/opendkim/opendkim.sock PidFile /run/opendkim/opendkim.pid UserID opendkim Background no