Minimal Docker image for OpenARC (ARC signing and verification) based on Debian experimental.
599
This script generates an openarc.conf, creates required runtime files, and runs OpenARC in foreground mode so logs are visible in Docker stdout/stderr.
/etc/openarc.conf from environment variables.chmod 600).InternalHosts file from a comma-separated environment variable./tmp for compatibility or debugging.-f) for Docker.| Variable | Default | Description |
|---|---|---|
OPENARC_AUTH_SERV_ID | relay.example.com | AuthservID header value |
OPENARC_DOMAIN | example.com | Signing domain |
OPENARC_SELECTOR | default | DKIM/ARC selector |
OPENARC_KEY_FILE | /openarc/keys/default.private | Path to private key |
OPENARC_SOCKET | inet:8801@[0.0.0.0] | Listener socket (e.g., for milter communication) |
OPENARC_PID_FILE | /run/openarc/openarc.pid | PID file path |
OPENARC_USER_ID | openarc | User to drop privileges to |
OPENARC_USER_MASK | 007 | File creation mask |
OPENARC_SYSLOG | No | Enable syslog (Yes to log via syslog) |
OPENARC_SOFTWARE_HEADER | Yes | Add SoftwareHeader line to signed emails |
OPENARC_CANONICALIZATION | relaxed/simple | Canonicalization mode used for ARC signing |
OPENARC_SIGN_HEADERS | to,from,subject,date,message-id | Comma-separated headers to sign |
OPENARC_INTERNAL_HOSTS | 127.0.0.1 | Comma-separated list of IPs/domains considered "internal". |
OPENARC_MODE | s | ARC processing mode (s, v, or sv) |
| Value | Meaning | Description |
|---|---|---|
s | Sign only | Signs outbound messages. Suitable for outbound mail relays. |
v | Verify only | Verifies ARC signatures on inbound messages. Used in inbound filtering. |
sv | Sign and verify | Both signs and verifies. Use in intermediaries that forward signed mail. |
| Path | Description |
|---|---|
/etc/openarc.conf | Main OpenARC configuration file |
/etc/openarc/InternalHosts | One host per line, derived from OPENARC_INTERNAL_HOSTS |
/tmp/<keyfile>.private | Copy of the ARC key (chmod 600) |
OPENARC_INTERNAL_HOSTS is unset, only 127.0.0.1 will be considered an internal host (this matches OpenARC’s default behavior)./tmp for convenience (e.g. debugging or compatibility with services that read from there).umask 077 and explicit chmod to restrict access.s (sign only) is appropriate for outbound signing setups. Use sv only if both signing and verifying are required.docker run --rm \
-e OPENARC_DOMAIN=example.org \
-e OPENARC_SELECTOR=mail \
-e OPENARC_KEY_FILE=/keys/mail.private \
-e OPENARC_INTERNAL_HOSTS="192.168.0.0/16,mail.example.org" \
-e OPENARC_MODE=sv \
-v /local/keys:/keys:ro \
openarc-image
Content type
Image
Digest
sha256:edb800fa2…
Size
46.9 MB
Last updated
12 months ago
docker pull digitaldriveio/openarc