mail-server/resources/config/jmap.toml
2023-08-18 19:48:57 +02:00

180 lines
2.8 KiB
TOML

#############################################
# JMAP server configuration
#############################################
[server.listener."jmap"]
bind = ["[::]:8080"]
url = "https://__HOST__:8080"
protocol = "jmap"
[store.db]
path = "__PATH__/data/index.sqlite3"
[store.db.pool]
max-connections = 10
#workers = 8
[store.db.cache]
size = 1000
[store.blob]
type = "__BLOB_STORE__"
[store.blob.local]
path = "__PATH__/data/blobs"
[store.blob.s3]
bucket = "stalwart"
region = "eu-central-1"
access-key = "minioadmin"
secret-key = "minioadmin"
#endpoint = ""
#security-token = ""
#profile = ""
timeout = "30s"
[jmap]
directory = "__DIRECTORY__"
[jmap.http]
#headers = ["Access-Control-Allow-Origin: *",
# "Access-Control-Allow-Methods: POST, GET, HEAD, OPTIONS",
# "Access-Control-Allow-Headers: *"]
[jmap.encryption]
enable = true
append = false
[jmap.session.cache]
ttl = "1h"
size = 100
[jmap.protocol.get]
max-objects = 500
[jmap.protocol.set]
max-objects = 500
[jmap.protocol.request]
max-concurrent = 4
max-size = 10000000
max-calls = 16
[jmap.protocol.query]
max-results = 5000
[jmap.protocol.upload]
max-size = 50000000
max-concurrent = 4
ttl = "1h"
[jmap.protocol.upload.quota]
files = 1000
size = 50000000
[jmap.protocol.changes]
max-results = 5000
[jmap.rate-limit]
account = "1000/1m"
authentication = "10/1m"
anonymous = "100/1m"
use-forwarded = false
[jmap.rate-limit.cache]
size = 1024
[jmap.mailbox]
max-depth = 10
max-name-length = 255
[jmap.email]
max-attachment-size = 50000000
max-size = 75000000
[jmap.email.parse]
max-items = 10
[jmap.principal]
allow-lookups = true
[jmap.sieve]
disable-capabilities = []
notification-uris = ["mailto"]
protected-headers = ["Original-Subject", "Original-From", "Received", "Auto-Submitted"]
[jmap.sieve.limits]
name-length = 512
max-scripts = 256
script-size = 102400
string-length = 4096
variable-name-length = 32
variable-size = 4096
nested-blocks = 15
nested-tests = 15
nested-foreverypart = 3
match-variables = 30
local-variables = 128
header-size = 1024
includes = 3
nested-includes = 3
cpu = 5000
redirects = 1
received-headers = 10
outgoing-messages = 3
[jmap.sieve.vacation]
default-subject = "Automated reply"
subject-prefix = "Auto: "
[jmap.sieve.default-expiry]
vacation = "30d"
duplicate = "7d"
[jmap.event-source]
throttle = "1s"
[jmap.web-sockets]
throttle = "1s"
timeout = "10m"
heartbeat = "1m"
[jmap.push]
max-total = 100
throttle = "1ms"
[jmap.push.attempts]
interval = "1m"
max = 3
[jmap.push.retry]
interval = "1s"
[jmap.push.timeout]
request = "10s"
verify = "1s"
[jmap.fts]
default-language = "en"
[oauth]
key = "__OAUTH_KEY__"
[oauth.auth]
max-attempts = 3
[oauth.expiry]
user-code = "30m"
auth-code = "10m"
token = "1h"
refresh-token = "30d"
refresh-token-renew = "4d"
[oauth.cache]
size = 128
[jmap.purge.schedule]
db = "0 3 *"
blobs = "30 3 *"
sessions = "15 * *"