Skip to content

Commit 66c6ac4

Browse files
committed
Added Generate SSL/TLS Certificate
1 parent 9ff89f6 commit 66c6ac4

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

self-hosting/govern/configure-dns-email-service.mdx

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,69 @@ If any of these ports are currently in use, you can free them by running:
1818

1919
This is necessary for email functionality (e.g., sending invites, notifications) to work properly.
2020

21+
## Generate SSL/TLS Certificate for Email Domain
22+
<Warning>
23+
For Docker Compose deployments only
24+
</Warning>
25+
Before configuring DNS records for Intake Email, secure your email domain with an SSL/TLS certificate. This ensures encrypted communication between mail servers and improves email trust and deliverability.
26+
27+
1. **Install Certbot**
28+
Update your system and install Certbot.
29+
```bash
30+
sudo apt update && sudo apt install certbot
31+
```
32+
For NGINX:
33+
```bash
34+
sudo apt install python3-certbot-nginx
35+
```
36+
For Apache:
37+
```bash
38+
sudo apt install python3-certbot-apache
39+
```
40+
41+
2. **Generate SSL Certificate**
42+
Choose the method that matches your web server setup:
43+
44+
For NGINX:
45+
```bash
46+
sudo certbot --nginx -d <mail-domain>
47+
```
48+
49+
For Apache:
50+
```bash
51+
sudo certbot --apache -d <mail-domain>
52+
```
53+
54+
For standalone (no web server):
55+
```bash
56+
sudo certbot certonly --standalone -d <mail-domain>
57+
```
58+
59+
3. **Copy Certificate Files**
60+
Copy the generated certificate files to Plane's expected directory:
61+
62+
```bash
63+
sudo cp /etc/letsencrypt/live/<mail-domain>/fullchain.pem /opt/plane/data/email/tls/cert.pem
64+
sudo cp /etc/letsencrypt/live/<mail-domain>/privkey.pem /opt/plane/data/email/tls/key.pem
65+
```
66+
67+
4. **Configure Environment Variables**
68+
Add the following settings to your plane.env file:
69+
70+
```bash
71+
# If using SMTP_DOMAIN as FQDN (e.g., intake.example.com),
72+
# generate a valid SSL certificate and set these paths accordingly.
73+
SMTP_DOMAIN=intake.example.com
74+
TLS_CERT_PATH=tls/cert.pem
75+
TLS_PRIV_KEY_PATH=tls/key.pem
76+
INTAKE_EMAIL_DOMAIN=intake.example.com
77+
```
78+
79+
<Warning>
80+
Important: `SMTP_DOMAIN` and `INTAKE_EMAIL_DOMAIN` must be identical.
81+
</Warning>
82+
83+
2184
## Configure DNS records
2285

2386
1. **Create an A Record**

0 commit comments

Comments
 (0)