Monica PRM n'envoie pas les rappels par e-mail - Comment résoudre ce problème

Monica PRM n’envoie pas les rappels par e-mail - Comment résoudre ce problème
Dans une mise à jour récente de mon guide sur l’installation de Monica en utilisant Docker sur Unraid, quelques utilisateurs ont signalé avoir rencontré un problème où les rappels par e-mail n’étaient pas envoyés et j’ai également eu le même problème. Ce problème, suivi sur le GitHub de Monica sous le numéro #4178, a une solution simple que je vais partager avec vous aujourd’hui.
L’essentiel de la solution implique d’exécuter la tâche cron dans un conteneur Docker dédié. Ci-dessous, j’ai partagé les configurations des fichiers Docker-compose et .env que j’utilise sur mon serveur Unraid. Cette architecture résout le problème, assurant que vMonica envoie les rappels par e-mail comme prévu.
Docker-compose File
🆕 Afin de copier/coller/télécharger plus facilement ce code, j’ai créé un repository dédié aux ressources de mon blog sur github. Voici le lien des fichiers docker-compose.yml et .env de cet article :
https://github.com/AlexIn-Tech/alexin.tech_blog_ressources/tree/main/Docker/Monica
Voici le fichier docker-compose.yml :
version: "3.9"
services:
app:
image: monica
env_file: .env
depends_on:
- db
ports:
- 8181:80
volumes:
- /mnt/user/appdata/monica-webapp:/var/www/html/storage
restart: always
cron:
image: monica
env_file: .env
restart: always
volumes:
- /mnt/user/appdata/monica-webapp:/var/www/html/storage
command: cron.sh
depends_on:
- db
db:
image: mariadb:11
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=true
- MYSQL_DATABASE=monica
- MYSQL_USER=XXXXXXXXXXXXXXXXX
- MYSQL_PASSWORD=XXXXXXXXXXXXXXXXXXX
volumes:
- /mnt/user/appdata/monica-db:/var/lib/mysql
restart: always
adminer:
image: adminer
restart: always
ports:
- 8282:8080
Environment File (.env)
Et voici le fichier de configuration .env :
APP_ENV=local
APP_DEBUG=false
# The encryption key. Must be 32 characters long exactly.
# Use `echo -n 'base64:'; openssl rand -base64 32` to generate a random key.
APP_KEY=XXXXXXXXXXXXXXX
# The URL of your application.
# APP_URL=http://localhost
# Set trusted proxy IP addresses.
# To trust all proxies that connect directly to your server, use a "*".
# APP_TRUSTED_PROXIES=
# Database information
# DB_CONNECTION=mysql
DB_HOST=db
DB_DATABASE=monica
DB_USERNAME=XXXXXXXXXXXX
DB_PASSWORD=XXXXXXXXXXXXXXXXXXXXX
# Mail credentials used to send emails from the application.
MAIL_DRIVER=smtp
MAIL_HOST=smtp.yourmailservice.com
MAIL_PORT=587
MAIL_USERNAME=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
MAIL_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
MAIL_ENCRYPTION=tls
# Outgoing emails will be sent with these identity
MAIL_FROM_ADDRESS=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
MAIL_FROM_NAME=Monica
LOG_CHANNEL=stderr
CACHE_DRIVER=database
SESSION_DRIVER=database
QUEUE_DRIVER=sync
Note importante: Assurez-vous de remplacer les espaces réservés XXXXXXXXXXXXXXX par vos véritables informations pour les identifiants de la base de données, la clé de l’application, la configuration du service de messagerie, etc. Sans cela, l’appli ne fonctionnera pas correctement ou les emails de rappel ne fonctionneront pas…
En configurant le service cron dans un conteneur séparé, nous assurons que les tâches cron nécessaires pour envoyer les rappels par e-mail sont exécutées de manière fiable.
Si vous avez suivi mon guide précédent sur la configuration de Monica sur Unraid et rencontré ce problème, la mise en œuvre de la solution ci-dessus devrait permettre à vos rappels par e-mail de fonctionner sans problème. Pour une discussion plus approfondie ou si vous rencontrez d’autres problèmes, n’hésitez pas à visiter la page du problème GitHub de Monica ou à me contacter via le formulaire “Contactez-moi”.
Enjoy 😎
AlexIn Tech
