v0.2.8
RustBox CI / rustbox (push) Canceled after 0s

This commit is contained in:
Mateusz Gruszczyński committed 2026-11-01 20:40:40 +01:00
1 parent cfc74d9db6
commit dacdf9c27d
76 files changed
+5209 -741

No files matched your search

+64 -19
View File
@@ -1,4 +1,4 @@
# RustBox 0.2.6 - packaged production configuration (DEB/RPM)
# RustBox 0.2.8 - packaged production configuration (DEB/RPM)
#
# This file contains all supported RustBox configuration options.
# Commented options are optional and do not change the packaged defaults.
@@ -39,10 +39,8 @@ default_interface_skin = "apple-mail"
sieve_enabled = true
diagnostics_enabled = true
about_enabled = true
# Browser-facing CSP/frame/referrer/permissions headers. Off by default for compatibility.
# Content-type-aware browser security headers. Off by default for compatibility.
security_headers_enabled = false
# -----------------------------------------------------------------------------
# Database
# -----------------------------------------------------------------------------
@@ -212,20 +210,6 @@ pgp_allow_private_export = true
#
# pgp_enabled = false
# -----------------------------------------------------------------------------
# Blob storage
# -----------------------------------------------------------------------------
#
# Blob storage is independent from database_backend.
#
# PostgreSQL/MySQL can use a local filesystem in single-node mode.
#
# Cluster deployments must use:
# - S3-compatible object storage, or
# - a genuinely shared POSIX filesystem such as NFS/CephFS/GlusterFS.
#
[storage]
# filesystem | s3
@@ -284,6 +268,23 @@ retry_timeout_secs = 60
# kms_key_id = "..."
# -----------------------------------------------------------------------------
# IMAP synchronization / automatic body cache
# -----------------------------------------------------------------------------
[sync]
# Periodic fallback/background IMAP reconciliation. Active folders use IMAP IDLE,
# while this pass refreshes counters/flags/headers in the rest of the mailbox and
# also runs automatic deep indexing when enabled. Lower values increase IMAP load.
interval_secs = 30
# Maximum full message bodies fetched from IMAP per periodic pass when deep index is
# effective. Larger batches catch up faster but increase bandwidth, application database/
# search-storage usage and indexing CPU/I/O bursts.
deep_index_batch_size = 10
# -----------------------------------------------------------------------------
# Search
# -----------------------------------------------------------------------------
@@ -327,6 +328,13 @@ allow_insecure_http = false
request_timeout_secs = 10
# Server-wide automatic full-body cache/index switch. Production default is false
# because enabling it proactively downloads and stores full message bodies. When
# true, all accounts are deep-indexed; when false, an account may still opt in via
# its existing deep_index preference.
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 = 12
@@ -378,6 +386,7 @@ worker_max_attempts = 12
# required = true
# allow_insecure_http = false
# request_timeout_secs = 10
# deep_index = false
# worker_interval_secs = 2
# worker_batch_size = 100
# worker_max_attempts = 12
@@ -430,4 +439,40 @@ worker_max_attempts = 12
# ]
# redis_sentinel_master = "mymaster"
# redis_sentinel_password = "sentinel-secret"
# redis_password = "secret"
# redis_password = "secret"
# -----------------------------------------------------------------------------
# Blob storage
# -----------------------------------------------------------------------------
#
# Blob storage is independent from database_backend.
#
# PostgreSQL/MySQL can use a local filesystem in single-node mode.
#
# Cluster deployments must use:
# - S3-compatible object storage, or
# - a genuinely shared POSIX filesystem such as NFS/CephFS/GlusterFS.
#
# -----------------------------------------------------------------------------
# Administrator system diagnostics endpoint
# -----------------------------------------------------------------------------
# Disabled by default. When enabled, the endpoint performs live probes of SQL,
# session persistence/Redis, filesystem/S3, Tantivy/OpenSearch and reports
# process/runtime/IMAP-IDLE/security telemetry. Returned configuration is redacted:
# passwords, auth tokens, S3 secrets, session keys and URL credentials are never emitted.
# Access is an AND condition: source IP/CIDR must be allowed and token/basic auth must pass.
[diagnostics_endpoint]
enabled = false
path = "/api/system/diagnostics"
# Fail-safe default. Add only monitoring/admin networks that really need access.
allowed_networks = ["127.0.0.1/32", "::1/128"]
auth = "token" # token | basic
# Prefer injecting these with a secret manager/environment rather than storing here.
# token = "at-least-24-random-characters"
# basic_username = "rustbox-monitor"
# basic_password = "long-random-password"
include_user_identifiers = false
probe_timeout_secs = 5
security_window_secs = 900
+1 -1
View File
@@ -8,7 +8,7 @@ Type=simple
User=rustbox
Group=rustbox
Environment=RUSTBOX_CONFIG=/etc/rustbox/rustbox.toml
#Environment=RUST_LOG=info
#Environment=RUST_LOG=warn,rustbox=info,tower_http=info
WorkingDirectory=/var/lib/rustbox
ExecStart=/usr/local/bin/rustbox
Restart=on-failure