aboutsummaryrefslogtreecommitdiff
path: root/example.config.toml
blob: 9ee3b6b850f60679706e4aa3417bd0e60a9d13ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# =============================================================================
# Dove — Local Infrastructure Service for Peaceful Development Experience
# =============================================================================
#
# This is the default configuration file for Dove. It controls how each
# service binds to the network and behaves at startup. Settings that can be
# managed at runtime (queue policies, health check intervals, cron schedules,
# KV limits, etc.) are configured through the dashboard and stored in the
# database — they do not appear here.
#
# Copy this file to config.toml and adjust values as needed.
# All values shown below are defaults and can be omitted if unchanged.
# Commented-out values are optional and disabled by default.

# =============================================================================
# HTTP Server
# =============================================================================
# The web dashboard and REST API for managing your local infrastructure.
# This is the primary interface for interacting with Dove.

[http]
# Network interface to bind the HTTP server to.
# Use "0.0.0.0" to listen on all interfaces, or "127.0.0.1" for local only.
host = "0.0.0.0"

# Port for the web dashboard and API.
port = 8080

# Enable verbose debug logging for HTTP requests and responses.
debug = false

# Optional credentials to protect the web dashboard.
# When set, users must authenticate before accessing the dashboard.
# Leave commented out to allow unrestricted access.
# username = ""
# password = ""

# =============================================================================
# DNS Server
# =============================================================================
# Resolves custom TLDs (.dove, .local, .test, .nest) and all registered
# domains. A records with port mappings act as a built-in reverse proxy,
# routing domain requests to local services automatically.

[dns]
# Network interface to bind the DNS server to.
# Typically bound to localhost since it serves local resolution only.
host = "127.0.0.1"

# Port for DNS queries over UDP.
# The standard DNS port is 53, but a non-privileged port is used by default
# to avoid requiring root permissions.
port = 5053

# Default time-to-live in seconds for DNS records when not explicitly set.
default_ttl = 300

# =============================================================================
# SMTP Server
# =============================================================================
# Receives incoming emails for mailboxes registered under your domains.
# Emails sent to non-existent mailboxes on existing domains will bounce.
# Emails sent to non-existent domains are silently dropped.

[smtp]
# Network interface to bind the SMTP server to.
host = "0.0.0.0"

# Port for plain SMTP connections.
port = 5025

# Port for implicit TLS (SMTPS) connections.
# Accepts encrypted connections when TLS is enabled, plain connections otherwise.
smtps_port = 5465

# Port for STARTTLS upgrade connections.
# Offers STARTTLS upgrade when TLS is enabled, accepts plain connections otherwise.
starttls_port = 5587

# The domain name announced in SMTP EHLO/HELO greetings.
# This identifies the mail server to connecting clients.
domain = "localhost"

# Maximum allowed email size in bytes. Default is 25 MB.
max_message_size = 26214400

# Timeout in seconds for reading data from SMTP clients.
read_timeout = 30

# Timeout in seconds for writing data to SMTP clients.
write_timeout = 30

# Require SMTP authentication before accepting messages.
# When enabled, clients must authenticate with the credentials below.
auth_required = false

# Credentials for SMTP authentication.
# Only used when auth_required is set to true.
# username = ""
# password = ""

# Enable TLS support for encrypted SMTPS and STARTTLS listeners.
# Requires valid certificate and key paths below.
tls_enabled = false

# Paths to the TLS certificate and private key files.
# Required when tls_enabled is set to true.
# tls_cert = ""
# tls_key = ""

# =============================================================================
# IMAP Server
# =============================================================================
# Provides IMAP access for external mail clients (Thunderbird, Apple Mail,
# etc.) to retrieve emails stored in Dove mailboxes.

[imap]
# Network interface to bind the IMAP server to.
host = "0.0.0.0"

# Port for plain IMAP connections.
port = 5143

# Port for implicit TLS (IMAPS) connections.
# Only active when tls_enabled is set to true.
imaps_port = 5993

# Require IMAP authentication before granting mailbox access.
auth_required = false

# Credentials for IMAP authentication.
# Only used when auth_required is set to true.
# username = ""
# password = ""

# Enable TLS support for encrypted IMAPS connections.
# Requires valid certificate and key paths below.
tls_enabled = false

# Paths to the TLS certificate and private key files.
# Required when tls_enabled is set to true.
# tls_cert = ""
# tls_key = ""

# =============================================================================
# POP3 Server
# =============================================================================
# Provides POP3 access for external mail clients to download and remove
# emails from Dove mailboxes.

[pop3]
# Network interface to bind the POP3 server to.
host = "0.0.0.0"

# Port for plain POP3 connections.
port = 5110

# Port for implicit TLS (POP3S) connections.
# Only active when tls_enabled is set to true.
pop3s_port = 5995

# Require POP3 authentication before granting mailbox access.
auth_required = false

# Credentials for POP3 authentication.
# Only used when auth_required is set to true.
# username = ""
# password = ""

# Enable TLS support for encrypted POP3S connections.
# Requires valid certificate and key paths below.
tls_enabled = false

# Paths to the TLS certificate and private key files.
# Required when tls_enabled is set to true.
# tls_cert = ""
# tls_key = ""

# =============================================================================
# S3-Compatible Object Storage
# =============================================================================
# Filesystem-backed object storage with full S3 API compatibility.
# Works with aws-sdk, boto3, minio-go, and any S3-compatible client.

[storage]
# Network interface to bind the S3 API server to.
host = "0.0.0.0"

# Port for S3 API requests.
port = 5900

# Directory where object data is stored on disk.
# Relative paths are resolved from Dove's data directory.
data_dir = "storage"

# Maximum allowed object size in bytes. Default is 512 MB.
max_object_size = 536870912