Skip to content

Commit 7e4f612

Browse files
committed
docs: kebab-case all markdown filenames
1 parent 322502d commit 7e4f612

19 files changed

Lines changed: 68 additions & 60 deletions

.env.dist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Documentation available in docs/ENVIRONMENT_VARIABLES.md
1+
# Documentation available in docs/environment-variables.md
22
#
33

44
# Database credentials

.mkdocs.yaml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,30 @@ exclude_docs: |
1616
nav:
1717
- Welcome: README.md
1818
- Quick Start:
19-
- INSTALLATION.md
20-
- UPGRADE.md
19+
- installation.md
20+
- upgrade.md
2121
- Configuration:
22-
- ENVIRONMENT_VARIABLES.md
23-
- DNS_CONFIGURATION.md
24-
- EXTERNAL_MYSQL.md
25-
- RELAYHOST.md
26-
- LOCAL_ADDRESS_EXTENSION.md
27-
- PHP_SESSIONS.md
28-
- REVERSE_PROXY.md
29-
- ROUNDCUBE.md
30-
- TLS.md
22+
- environment-variables.md
23+
- dns-configuration.md
24+
- external-mysql.md
25+
- relayhost.md
26+
- local-address-extension.md
27+
- php-sessions.md
28+
- reverse-proxy.md
29+
- roundcube.md
30+
- tls.md
3131
- Administration:
3232
- manage-domains.md
3333
- manage-users.md
3434
- manage-aliases.md
3535
- manage-fetchmail.md
36-
- DKIM_SIGNING.md
36+
- dkim-signing.md
3737
- Recipes:
3838
- Docker:
3939
- Traefik Reverse Proxy: https://github.com/jeboehm/docker-mailserver/tree/main/docs/example-configs/compose/traefik-reverse-proxy
4040
- Kubernetes:
4141
- External Database and HTTPS Ingress: https://github.com/jeboehm/docker-mailserver/tree/main/docs/example-configs/kustomize/external-db-and-https-ingress
4242
- Development:
43-
- ARCHITECTURE.md
44-
- DEVELOPMENT.md
43+
- architecture.md
44+
- development.md
4545
- Issues: https://github.com/jeboehm/docker-mailserver/issues

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ See the [documentation](https://jeboehm.github.io/docker-mailserver/) for a comp
3939

4040
`docker-mailserver` can be set up using Docker or Kubernetes.
4141

42-
For detailed installation instructions, see the [Installation Guide](https://jeboehm.github.io/docker-mailserver/INSTALLATION/) in the documentation.
42+
For detailed installation instructions, see the [Installation Guide](https://jeboehm.github.io/docker-mailserver/installation/) in the documentation.
4343

4444
## Screenshots
4545

docs/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ This project enables you to operate your own email services, providing independe
2828

2929
## Quick Start
3030

31-
1. **[Installation Guide](INSTALLATION.md)** - Get started with Docker or Kubernetes deployment
32-
2. **[Upgrade Guide](UPGRADE.md)** - Upgrade procedures and version migration notes
31+
1. **[Installation Guide](installation.md)** - Get started with Docker or Kubernetes deployment
32+
2. **[Upgrade Guide](upgrade.md)** - Upgrade procedures and version migration notes
3333

3434
## Service Architecture
3535

@@ -45,7 +45,7 @@ The mailserver consists of multiple microservices:
4545
- **Unbound** - DNS resolver for the filter service
4646
- **Fetchmail** - External mail retrieval (optional)
4747

48-
See [Architecture Documentation](ARCHITECTURE.md) for detailed information.
48+
See [Architecture Documentation](architecture.md) for detailed information.
4949

5050
## Getting Help
5151

File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ The mailserver requires several DNS record types to operate correctly:
1616

1717
The Mail Exchange (MX) record directs incoming emails to your mailserver. This is the primary DNS record that tells other mail servers where to deliver emails for your domain.
1818

19-
### Configuration
19+
### MX Record Configuration
2020

2121
Create an MX record in your domain's DNS zone:
2222

23-
```
23+
```text
2424
Type: MX
2525
Name: @ (or your domain name)
2626
Priority: 10
@@ -29,15 +29,15 @@ Value: mail.example.com
2929

3030
Replace `mail.example.com` with the value configured in the `MAILNAME` environment variable. The priority value (10 in this example) determines the order when multiple MX records exist. Lower numbers have higher priority.
3131

32-
### Example
32+
### MX Record Example
3333

3434
For domain `example.com` with mailserver hostname `mail.example.com`:
3535

36-
```
36+
```text
3737
example.com. IN MX 10 mail.example.com.
3838
```
3939

40-
### Verification
40+
### MX Record Verification
4141

4242
Verify the MX record using DNS lookup tools:
4343

@@ -51,11 +51,11 @@ nslookup -type=MX example.com
5151

5252
A and AAAA records resolve the mailserver hostname to IPv4 and IPv6 addresses respectively. These records are required for the MX record to function, as the MX record points to a hostname that must resolve to an IP address.
5353

54-
### Configuration
54+
### A/AAAA Record Configuration
5555

5656
Create A and AAAA records for your mailserver hostname:
5757

58-
```
58+
```text
5959
Type: A
6060
Name: mail (or your mailserver hostname without domain)
6161
Value: 192.0.2.1
@@ -67,16 +67,16 @@ Value: 2001:db8::1
6767

6868
Replace the IP addresses with your mailserver's actual IPv4 and IPv6 addresses. If your mailserver only has IPv4, you can omit the AAAA record, though IPv6 is recommended for modern email infrastructure.
6969

70-
### Example
70+
### A/AAAA Record Example
7171

7272
For mailserver hostname `mail.example.com`:
7373

74-
```
74+
```text
7575
mail.example.com. IN A 192.0.2.1
7676
mail.example.com. IN AAAA 2001:db8::1
7777
```
7878

79-
### Verification
79+
### A/AAAA Record Verification
8080

8181
Verify the A and AAAA records:
8282

@@ -91,11 +91,11 @@ nslookup mail.example.com
9191

9292
The Sender Policy Framework (SPF) record authorizes your mailserver to send emails on behalf of your domain. SPF helps prevent email spoofing by specifying which mail servers are allowed to send emails for your domain.
9393

94-
### Configuration
94+
### SPF Record Configuration
9595

9696
Create a TXT record with SPF policy:
9797

98-
```
98+
```text
9999
Type: TXT
100100
Name: @ (or your domain name)
101101
Value: v=spf1 mx a ip4:192.0.2.1 ip6:2001:db8::1 ~all
@@ -113,15 +113,15 @@ Common SPF mechanisms used in mailserver configurations:
113113
- `~all`: Soft fail for all other sources (recommended during testing)
114114
- `-all`: Hard fail for all other sources (recommended for production)
115115

116-
### Example
116+
### SPF Record Example
117117

118118
For domain `example.com` with mailserver at `mail.example.com`:
119119

120-
```
120+
```text
121121
example.com. IN TXT "v=spf1 mx a ip4:192.0.2.1 ~all"
122122
```
123123

124-
### Verification
124+
### SPF Record Verification
125125

126126
Verify the SPF record:
127127

@@ -136,7 +136,7 @@ SPF records must be published as TXT records. Some DNS providers may also suppor
136136

137137
DomainKeys Identified Mail (DKIM) records publish the public key used to verify email signatures. DKIM signing is configured through the management interface, which generates the DNS TXT record that must be published.
138138

139-
### Configuration
139+
### DKIM Record Configuration
140140

141141
DKIM records are generated through the management interface:
142142

@@ -151,41 +151,41 @@ DKIM records are generated through the management interface:
151151

152152
DKIM records use a specific subdomain format:
153153

154-
```
154+
```text
155155
Type: TXT
156156
Name: default._domainkey (or selector._domainkey)
157157
Value: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...
158158
```
159159

160160
The record name includes a selector (typically `default`) and the `_domainkey` subdomain. The value contains the DKIM version, key type, and public key.
161161

162-
### Example
162+
### DKIM Record Example
163163

164164
For domain `example.com` with selector `default`:
165165

166-
```
166+
```text
167167
default._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC..."
168168
```
169169

170-
### Verification
170+
### DKIM Record Verification
171171

172172
After publishing the DKIM record, verify it through the management interface. The interface checks DNS propagation and validates the record format. You can also verify manually:
173173

174174
```bash
175175
dig TXT default._domainkey.example.com
176176
```
177177

178-
See [DKIM Signing](DKIM_SIGNING.md) for detailed DKIM configuration instructions.
178+
See [DKIM Signing](dkim-signing.md) for detailed DKIM configuration instructions.
179179

180180
## DMARC Record
181181

182182
Domain-based Message Authentication, Reporting & Conformance (DMARC) records define email authentication policy and enable reporting. DMARC works in conjunction with SPF and DKIM to provide comprehensive email authentication.
183183

184-
### Configuration
184+
### DMARC Record Configuration
185185

186186
Create a TXT record with DMARC policy:
187187

188-
```
188+
```text
189189
Type: TXT
190190
Name: _dmarc
191191
Value: v=DMARC1; p=none; rua=mailto:[email protected]
@@ -214,23 +214,23 @@ Common DMARC policy settings:
214214

215215
**Monitoring mode** (recommended for initial deployment):
216216

217-
```
217+
```text
218218
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]"
219219
```
220220

221221
**Quarantine mode** (after monitoring period):
222222

223-
```
223+
```text
224224
_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100"
225225
```
226226

227227
**Reject mode** (production, after validation):
228228

229-
```
229+
```text
230230
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]; aspf=r; adkim=r"
231231
```
232232

233-
### Verification
233+
### DMARC Record Verification
234234

235235
Verify the DMARC record:
236236

@@ -242,37 +242,41 @@ dig TXT _dmarc.example.com
242242

243243
For a complete mailserver setup, configure the following DNS records:
244244

245-
| Record Type | Name | Value | Purpose |
246-
|------------|------|-------|---------|
247-
| MX | `@` | `10 mail.example.com` | Direct incoming emails |
248-
| A | `mail` | `192.0.2.1` | Resolve mailserver hostname (IPv4) |
249-
| AAAA | `mail` | `2001:db8::1` | Resolve mailserver hostname (IPv6) |
250-
| TXT (SPF) | `@` | `v=spf1 mx a ~all` | Authorize sending servers |
251-
| TXT (DKIM) | `default._domainkey` | `v=DKIM1; k=rsa; p=...` | Email signature verification |
252-
| TXT (DMARC) | `_dmarc` | `v=DMARC1; p=none; rua=...` | Authentication policy |
245+
| Record Type | Name | Value | Purpose |
246+
| ----------- | -------------------- | --------------------------- | ---------------------------------- |
247+
| MX | `@` | `10 mail.example.com` | Direct incoming emails |
248+
| A | `mail` | `192.0.2.1` | Resolve mailserver hostname (IPv4) |
249+
| AAAA | `mail` | `2001:db8::1` | Resolve mailserver hostname (IPv6) |
250+
| TXT (SPF) | `@` | `v=spf1 mx a ~all` | Authorize sending servers |
251+
| TXT (DKIM) | `default._domainkey` | `v=DKIM1; k=rsa; p=...` | Email signature verification |
252+
| TXT (DMARC) | `_dmarc` | `v=DMARC1; p=none; rua=...` | Authentication policy |
253253

254254
## Troubleshooting
255255

256256
### Common Issues
257257

258258
**Emails not being received:**
259+
259260
- Verify MX record points to correct hostname
260261
- Ensure A/AAAA records resolve the mailserver hostname
261262
- Check firewall rules allow connections on port 25
262263

263264
**Emails marked as spam:**
265+
264266
- Verify SPF record is correctly configured
265267
- Ensure DKIM record is published and verified
266268
- Check DMARC policy is not too restrictive during initial setup
267269
- Review DMARC reports for authentication failures
268270

269271
**DKIM verification failures:**
272+
270273
- Verify DKIM DNS record is published correctly
271274
- Check DNS propagation is complete
272275
- Ensure the selector matches between DNS and mailserver configuration
273276
- Verify the public key in DNS matches the private key in mailserver
274277

275278
**SPF failures:**
279+
276280
- Verify all sending IP addresses are included in SPF record
277281
- Check for syntax errors in SPF record
278282
- Ensure SPF record is published as TXT record type
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)