284 lines
3.1 KiB
Markdown
284 lines
3.1 KiB
Markdown
# Email Configuration
|
|
|
|
## Overview
|
|
|
|
SilverLinux uses a centralized SMTP configuration for application email delivery.
|
|
|
|
Email is used for:
|
|
|
|
* Password resets
|
|
* User invitations
|
|
* Notifications
|
|
* System alerts
|
|
* Backup reports
|
|
* Future CI/CD notifications
|
|
|
|
---
|
|
|
|
## Sender Address
|
|
|
|
```text
|
|
noreply@silveressence.net
|
|
```
|
|
|
|
Purpose:
|
|
|
|
* Automated emails
|
|
* Application notifications
|
|
* No inbound processing required
|
|
|
|
---
|
|
|
|
## SMTP Provider
|
|
|
|
Provider:
|
|
|
|
```text
|
|
Gmail SMTP
|
|
```
|
|
|
|
Server:
|
|
|
|
```text
|
|
smtp.gmail.com
|
|
```
|
|
|
|
Port:
|
|
|
|
```text
|
|
587
|
|
```
|
|
|
|
Security:
|
|
|
|
```text
|
|
STARTTLS
|
|
```
|
|
|
|
Authentication:
|
|
|
|
```text
|
|
Login
|
|
```
|
|
|
|
---
|
|
|
|
## Secret Storage
|
|
|
|
SMTP credentials are stored in:
|
|
|
|
```text
|
|
Infisical
|
|
```
|
|
|
|
Variables:
|
|
|
|
```text
|
|
SMTP_HOST
|
|
SMTP_PORT
|
|
SMTP_USERNAME
|
|
SMTP_PASSWORD
|
|
```
|
|
|
|
These values must never be committed to Git repositories.
|
|
|
|
---
|
|
|
|
## Applications Using Email
|
|
|
|
### OpenProject
|
|
|
|
Purpose:
|
|
|
|
* Password reset emails
|
|
* Work package notifications
|
|
* Mention notifications
|
|
* User invitations
|
|
|
|
Sender:
|
|
|
|
```text
|
|
noreply@silveressence.net
|
|
```
|
|
|
|
Status:
|
|
|
|
Configured
|
|
|
|
---
|
|
|
|
### Gitea
|
|
|
|
Purpose:
|
|
|
|
* Password reset emails
|
|
* Repository notifications
|
|
* User invitations
|
|
|
|
Sender:
|
|
|
|
```text
|
|
noreply@silveressence.net
|
|
```
|
|
|
|
Status:
|
|
|
|
Configured
|
|
|
|
---
|
|
|
|
### Backup System
|
|
|
|
Purpose:
|
|
|
|
* Backup success emails
|
|
* HTML backup report emails
|
|
* Operational backup notifications
|
|
|
|
Delivery:
|
|
|
|
* Postfix relay through Gmail SMTP
|
|
* Gmail App Password authentication
|
|
* TLS encryption
|
|
|
|
Status:
|
|
|
|
Configured and validated
|
|
|
|
---
|
|
|
|
### Nextcloud
|
|
|
|
Purpose:
|
|
|
|
* User notifications
|
|
* File sharing notifications
|
|
* Password and account emails where enabled
|
|
|
|
Sender:
|
|
|
|
```text
|
|
noreply@silveressence.net
|
|
```
|
|
|
|
Observed runtime settings:
|
|
|
|
```text
|
|
smtp.gmail.com
|
|
port 465
|
|
ssl
|
|
```
|
|
|
|
Status:
|
|
|
|
Configured
|
|
|
|
---
|
|
|
|
### Alertmanager
|
|
|
|
Purpose:
|
|
|
|
* Monitoring alert emails
|
|
* Incident grouped notifications
|
|
* Severity-based alert routing
|
|
|
|
Recipients:
|
|
|
|
* `oclick021@gmail.com`
|
|
* `martin@silversolutions.nl`
|
|
|
|
Status:
|
|
|
|
Configured and validated
|
|
|
|
---
|
|
|
|
## Future Applications
|
|
|
|
Future services should use the centralized SMTP configuration whenever possible.
|
|
|
|
Examples:
|
|
|
|
* BaGet
|
|
* CI/CD notifications
|
|
* Alerting systems
|
|
|
|
---
|
|
|
|
## Testing
|
|
|
|
### OpenProject
|
|
|
|
Test by:
|
|
|
|
1. Creating a user.
|
|
2. Triggering a password reset.
|
|
3. Verifying email delivery.
|
|
|
|
### Gitea
|
|
|
|
Test by:
|
|
|
|
1. Opening "Forgot Password".
|
|
2. Requesting a password reset.
|
|
3. Verifying email delivery.
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### OpenProject
|
|
|
|
View logs:
|
|
|
|
```bash
|
|
docker logs openproject
|
|
```
|
|
|
|
### Gitea
|
|
|
|
View logs:
|
|
|
|
```bash
|
|
docker logs gitea
|
|
```
|
|
|
|
### Gmail Authentication
|
|
|
|
Verify:
|
|
|
|
* App password is valid
|
|
* SMTP credentials match the Infisical values injected by `slcompose`
|
|
* STARTTLS is enabled
|
|
* Port 587 is used
|
|
|
|
### Backup Reports
|
|
|
|
Verify:
|
|
|
|
* Postfix relay is active
|
|
* Gmail App Password authentication succeeds
|
|
* TLS delivery succeeds
|
|
* Backup wrapper sends the HTML report after backup completion
|
|
|
|
---
|
|
|
|
## Security Notes
|
|
|
|
* Use Gmail App Passwords.
|
|
* Never use personal Gmail passwords.
|
|
* Store SMTP credentials only in Infisical.
|
|
* Rotate credentials if they become exposed.
|
|
|
|
---
|
|
|
|
## Related Documentation
|
|
|
|
* docs/secrets.md
|
|
* docs/security.md
|
|
* docs/backups.md
|
|
* docs/monitoring.md
|
|
* openproject/README.md
|
|
* gitea/README.md
|