1 parent
cfc74d9db6
commit
dacdf9c27d
76 files changed
+5209
-741
No files matched your search
+50
-7
@@ -1,4 +1,4 @@
|
||||
# RustBox 0.2.6
|
||||
# RustBox 0.2.8
|
||||
host = "127.0.0.1"
|
||||
port = 3001
|
||||
environment = "production"
|
||||
@@ -59,7 +59,7 @@ max_message_size_mb = 50
|
||||
sieve_enabled = true
|
||||
diagnostics_enabled = true
|
||||
about_enabled = true
|
||||
# Adds browser-facing security headers (CSP, frame/referrer/permissions policies).
|
||||
# Adds content-type-aware browser security headers: document policies on HTML, private no-store/framing/CORP policy on /api, Referrer-Policy on HTML/CSS, and nosniff broadly.
|
||||
security_headers_enabled = false
|
||||
|
||||
# ManageSieve. If sieve_host is omitted, imap_host from the authenticated
|
||||
@@ -72,7 +72,6 @@ sieve_allow_insecure_auth = false
|
||||
sieve_timeout_secs = 10
|
||||
|
||||
trusted_proxies = "127.0.0.1,::1"
|
||||
|
||||
# Optional server-wide defaults for special IMAP folders. These are used when
|
||||
# a mailbox has no per-account override and the named folder exists.
|
||||
# default_sent_folder = "Sent"
|
||||
@@ -96,10 +95,6 @@ pgp_max_key_bytes = 1048576
|
||||
# Private-key export is deliberately disabled unless the administrator opts in.
|
||||
pgp_allow_private_export = false
|
||||
|
||||
# RustBox 0.2 blob/search backends
|
||||
# Blob storage is independent from the SQL database. PostgreSQL/MySQL can still use
|
||||
# local filesystem storage in single-node mode. In cluster mode use S3-compatible
|
||||
# storage or a genuinely shared POSIX filesystem (NFS/CephFS/GlusterFS).
|
||||
[storage]
|
||||
backend = "filesystem" # filesystem | s3
|
||||
# path = "/var/lib/rustbox/blobs" # defaults to data_dir for filesystem
|
||||
@@ -120,6 +115,17 @@ retry_timeout_secs = 60
|
||||
# server_side_encryption = "AES256" # or "aws:kms"
|
||||
# kms_key_id = "..."
|
||||
|
||||
# Periodic IMAP reconciliation. Active folders still use IMAP IDLE; this is the
|
||||
# background/fallback cadence for folder counters, flags, new headers in other
|
||||
# folders, and the automatic deep-index pass. Lower values improve convergence but
|
||||
# increase IMAP traffic and mail-server load.
|
||||
[sync]
|
||||
interval_secs = 30
|
||||
# Maximum full message bodies downloaded from IMAP per periodic pass when deep index
|
||||
# is effective. Larger batches catch up faster at the cost of network traffic,
|
||||
# application-database/search-storage usage and indexing CPU/I/O.
|
||||
deep_index_batch_size = 10
|
||||
|
||||
# Search is independent from blob storage. Local Tantivy is single-node only.
|
||||
[search]
|
||||
backend = "local_tantivy" # disabled | local_tantivy | opensearch
|
||||
@@ -129,8 +135,45 @@ index_prefix = "rustbox"
|
||||
required = false
|
||||
allow_insecure_http = false
|
||||
request_timeout_secs = 10
|
||||
# Server-wide automatic full-body cache/index switch. When true, RustBox proactively
|
||||
# downloads message bodies from IMAP and indexes them for every account, up to
|
||||
# sync.deep_index_batch_size per sync pass. This increases IMAP traffic,
|
||||
# application-database/search-storage usage and indexing load. Production default
|
||||
# is false. When false,
|
||||
# the existing per-account deep_index preference may still opt an account in.
|
||||
deep_index = false
|
||||
# Search outbox worker cadence/batch; these do NOT control IMAP body downloads.
|
||||
worker_interval_secs = 2
|
||||
worker_batch_size = 100
|
||||
worker_max_attempts = 8
|
||||
# username = "rustbox"
|
||||
# password = "..."
|
||||
|
||||
|
||||
# RustBox 0.2 blob/search backends
|
||||
# Blob storage is independent from the SQL database. PostgreSQL/MySQL can still use
|
||||
# local filesystem storage in single-node mode. In cluster mode use S3-compatible
|
||||
# storage or a genuinely shared POSIX filesystem (NFS/CephFS/GlusterFS).
|
||||
|
||||
# Administrator-only system diagnostics endpoint. Disabled by default.
|
||||
# When enabled it exposes a redacted runtime/configuration report plus live probes
|
||||
# for SQL, session persistence (database/Redis), blob storage (filesystem/S3),
|
||||
# search (Tantivy/OpenSearch), IMAP IDLE counters and security telemetry.
|
||||
# Access requires BOTH an allowed source network and the configured auth method.
|
||||
# Secrets (passwords, tokens, S3 keys, session keys and URL credentials) are never returned.
|
||||
[diagnostics_endpoint]
|
||||
enabled = false
|
||||
path = "/api/system/diagnostics"
|
||||
# Default/fail-safe allowlist: only this host. Add trusted LAN/pod/monitoring CIDRs explicitly.
|
||||
allowed_networks = ["127.0.0.1/32", "::1/128"]
|
||||
# token | basic. Credentials should normally come from .env / secret manager, not TOML.
|
||||
auth = "token"
|
||||
# token = "replace-with-at-least-24-random-characters"
|
||||
# basic_username = "rustbox-monitor"
|
||||
# basic_password = "replace-with-a-long-random-password"
|
||||
# E-mail addresses and stable user hashes are omitted by default; aggregate counts remain available.
|
||||
include_user_identifiers = false
|
||||
# Timeout applied independently to database/session/storage/search probes.
|
||||
probe_timeout_secs = 5
|
||||
# Rolling in-memory window used for login failures, 403, 429 and 5xx attack/problem signals.
|
||||
security_window_secs = 900
|
||||
Reference in new issue
Block a user