98 lines
3.4 KiB
Markdown
98 lines
3.4 KiB
Markdown
# User Guide
|
|
|
|
## 1. Prepare Domain Certificates
|
|
|
|
Prepare a domain certificate using tools like `acme.sh`, `certbot`, or manual upload. Modify the configurations as needed.
|
|
|
|
The certificate domain should correspond to the mail server's `MX` hostname, such as `mail.example.com`.
|
|
|
|
|
|
## 2. Install the Application
|
|
|
|
Install the application from the app store.
|
|
|
|
The first installation may show an error and the container may not run properly due to missing certificate files.
|
|
|
|
Ignore the error and proceed to the next step.
|
|
|
|
|
|
## 3. Place the Domain Certificate into the Volume
|
|
|
|
If the maddydata directory is not present in the container storage volume, you need to manually execute:
|
|
```
|
|
docker volume create maddydata
|
|
```
|
|
|
|
The default path for the volume is:`/var/lib/docker/volumes/maddydata/_data/`
|
|
|
|
```
|
|
# Enter the volume path
|
|
cd $(docker volume inspect maddydata --format '{{.Mountpoint}}')
|
|
|
|
# Create certificate folder
|
|
mkdir -p tls
|
|
```
|
|
Upload the certificate and private key to the tls folder, and rename them as:
|
|
- fullchain.pem
|
|
- privkey.pem
|
|
|
|
Once the certificates are correctly uploaded, the container will automatically start running.
|
|
|
|
## 4. Configure DKIM DNS Records
|
|
### 4.1 Retrieve DKIM Values
|
|
|
|
After the container starts running, check the path:`/var/lib/docker/volumes/maddydata/_data/dkim_keys`
|
|
|
|
You will find a file named like `example.com_default.dns`.
|
|
|
|
This file contains the required DKIM information.
|
|
|
|
- Make sure to modify the domain as needed.
|
|
|
|
To view the contents in the terminal:
|
|
```
|
|
cat /var/lib/docker/volumes/maddydata/_data/dkim_keys/example.com_default.dns
|
|
```
|
|
|
|
Example output:
|
|
```
|
|
default._domainkey.example.org. TXT "v=DKIM1; k=ed25519; p=nAcUUozPlhc4VPhp7hZl+owES7j7OlEv0laaDEDBAqg="
|
|
```
|
|
|
|
### 4.2 Set DNS TXT Record
|
|
|
|
Set the `DNS records` based on the retrieved information.
|
|
|
|
For example:
|
|
Add a `TXT` record for `default._domainkey.example.com` with the value `v=DKIM1; k=ed25519; p=nAcUUozPlhc4VPhp7hZl+owES7j7OlEv0laaDEDBAqg=`.
|
|
|
|
## 5. Set DNS Records
|
|
|
|
- Ensure modifications as needed.
|
|
|
|
| Record Type | Domain | Value |
|
|
|-------------| --- |-------------------------------------------------------------|
|
|
| A | `mail.example.com` | `Server IPv4 Address` |
|
|
| A | `example.com` | `Server IPv4 Address` |
|
|
| AAAA | `mail.example.com` | `Server IPv4 Address (if available)` |
|
|
| AAAA | `example.com` | `Server IPv4 Address (if available)` |
|
|
| MX | `example.com` | `mail.example.com` |
|
|
| TXT | `mail.example.com` | `v=spf1 mx ~all` |
|
|
| TXT | `example.com` | `v=spf1 mx ~all` |
|
|
| TXT | `_dmarc.example.com` | `v=DMARC1; p=quarantine; ruf=mailto:postmaster@example.com` |
|
|
| TXT | `_mta-sts.example.com` | `v=STSv1; id=1` |
|
|
| TXT | `_smtp._tls.example.com` | `v=TLSRPTv1;rua=mailto:postmaster@example.com` |
|
|
|
|
## 6. Create Sending Accounts
|
|
|
|
Access the container terminal via the `Containers` panel and execute the following commands:
|
|
|
|
- Ensure modifications as needed.
|
|
|
|
```
|
|
maddy creds create postmaster@example.com
|
|
|
|
maddy imap-acct create postmaster@example.com
|
|
```
|
|
END
|