Add email delivery for generated reports
This commit is contained in:
@@ -28,6 +28,7 @@ PVE_TASK_HISTORY_LIMIT=500
|
||||
PBS_HOSTNAMES=backup.example.invalid=nom-affiche
|
||||
LOG_LEVEL=INFO
|
||||
REPORT_FILENAME_PREFIX=rapport-sauvegardes-pve
|
||||
REPORT_EMAIL_ENABLED=false
|
||||
```
|
||||
|
||||
## Description des variables
|
||||
@@ -56,6 +57,46 @@ REPORT_FILENAME_PREFIX=rapport-sauvegardes-pve
|
||||
| `PBS<number>_TIMEOUT_SECONDS` | Non | Timeout HTTP pour ce serveur PBS. Defaut : valeur de `PVE_TIMEOUT_SECONDS` ou `30`. |
|
||||
| `LOG_LEVEL` | Non | Niveau de log. Defaut : `INFO`. |
|
||||
| `REPORT_FILENAME_PREFIX` | Non | Prefixe du fichier PDF. |
|
||||
| `REPORT_EMAIL_ENABLED` | Non | Active l'envoi du PDF par email apres generation. Defaut : `false`. |
|
||||
| `REPORT_EMAIL_SMTP_HOST` | Si email actif | Serveur SMTP. |
|
||||
| `REPORT_EMAIL_SMTP_PORT` | Non | Port SMTP. Defaut : `587`. |
|
||||
| `REPORT_EMAIL_SMTP_STARTTLS` | Non | Active STARTTLS. Defaut : `true`. Incompatible avec `REPORT_EMAIL_SMTP_SSL=true`. |
|
||||
| `REPORT_EMAIL_SMTP_SSL` | Non | Utilise SMTP sur TLS implicite, souvent port `465`. Defaut : `false`. |
|
||||
| `REPORT_EMAIL_SMTP_USERNAME` | Non | Identifiant SMTP. Si renseigne, `REPORT_EMAIL_SMTP_PASSWORD` est obligatoire. |
|
||||
| `REPORT_EMAIL_SMTP_PASSWORD` | Non | Mot de passe SMTP, lu uniquement depuis l'environnement et jamais affiche. |
|
||||
| `REPORT_EMAIL_FROM` | Si email actif | Adresse expediteur du message. |
|
||||
| `REPORT_EMAIL_TO` | Si email actif | Destinataires separes par des virgules. |
|
||||
| `REPORT_EMAIL_SUBJECT` | Non | Sujet du message. Defaut : `Rapport sauvegardes PVE`. |
|
||||
| `REPORT_EMAIL_SMTP_TIMEOUT_SECONDS` | Non | Timeout SMTP. Defaut : `30`. |
|
||||
|
||||
## Envoi du rapport par email
|
||||
|
||||
L'envoi email est optionnel et desactive par defaut. Quand `REPORT_EMAIL_ENABLED=true`, la commande `--generate-pdf` genere d'abord le PDF horodate dans `REPORT_OUTPUT_DIR`, puis l'envoie en piece jointe. Si l'envoi echoue, le PDF reste conserve et la commande retourne une erreur pour que cron ou la supervision puisse l'indiquer.
|
||||
|
||||
Exemple avec STARTTLS :
|
||||
|
||||
```env
|
||||
REPORT_EMAIL_ENABLED=true
|
||||
REPORT_EMAIL_SMTP_HOST=smtp.example.invalid
|
||||
REPORT_EMAIL_SMTP_PORT=587
|
||||
REPORT_EMAIL_SMTP_STARTTLS=true
|
||||
REPORT_EMAIL_SMTP_SSL=false
|
||||
REPORT_EMAIL_SMTP_USERNAME=backup-report@example.invalid
|
||||
REPORT_EMAIL_SMTP_PASSWORD=
|
||||
REPORT_EMAIL_FROM=backup-report@example.invalid
|
||||
REPORT_EMAIL_TO=admin@example.invalid,audit@example.invalid
|
||||
REPORT_EMAIL_SUBJECT=Rapport sauvegardes PVE
|
||||
```
|
||||
|
||||
Exemple avec TLS implicite :
|
||||
|
||||
```env
|
||||
REPORT_EMAIL_SMTP_PORT=465
|
||||
REPORT_EMAIL_SMTP_STARTTLS=false
|
||||
REPORT_EMAIL_SMTP_SSL=true
|
||||
```
|
||||
|
||||
Ne pas renseigner de mot de passe SMTP dans l'image Docker, les logs ou la documentation commitee. Utiliser le fichier `.env`, une variable d'environnement runtime ou un secret Docker monte au lancement.
|
||||
|
||||
## Exemple Docker Compose
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ docker compose run --rm pve-backup-report --generate-pdf
|
||||
```
|
||||
|
||||
Le rapport est cree dans `REPORT_OUTPUT_DIR`. Le nom contient un horodatage et n'ecrase pas les rapports precedents.
|
||||
Si `REPORT_EMAIL_ENABLED=true`, le PDF genere est ensuite envoye aux destinataires `REPORT_EMAIL_TO`.
|
||||
|
||||
Exemple de fichier genere sur l'hote :
|
||||
|
||||
|
||||
Reference in New Issue
Block a user