Comment créer votre propre newsletter avec Listmonk
Listmonk est une solution simple et tout-en-un de newsletters et de listes de diffusion auto-hébergées pour Linux. Contrairement aux programmes de listes de diffusion traditionnels, il excelle en fournissant une plate-forme simple, légère et rapide. Nous vous montrons ici comment installer Listmonk à l’aide de Docker sur Ubuntu et comment commencer à l’utiliser pour envoyer des newsletters.
Avantages de l’utilisation de Listmonk
L’un des principaux arguments de vente de Listmonk est qu’il peut fonctionner avec presque n’importe quel serveur de livraison de courrier externe sur Internet. Cela signifie que vous pouvez envoyer vos newsletters avec un fournisseur de messagerie hébergé tel que Gmail ou votre propre configuration de messagerie auto-hébergée .
Listmonk offre également la possibilité de créer des modèles de courrier électronique programmables. Cela permet de créer des emails personnalisés qui peuvent s’ajuster en fonction du contexte dans lequel l’utilisateur reçoit le message.
Enfin, Listmonk est livré avec un module d’analyse intuitif qui vous permet de suivre chaque newsletter exécutée dans le programme. Il peut suivre à la fois le nombre de clics obtenus par chaque message ainsi que les vues globales obtenues par une liste de diffusion entière sur une période donnée.
Installation de Listmonk
Obtention de Docker et Docker Compose
Hypothèse : cet article suppose que vous exécutez Listmonk sur un VPS toujours actif. De plus, cela suppose également que vous disposez déjà d’un nom de domaine avec un enregistrement A et PTR pointant vers votre VPS.
Pour commencer, récupérez la clé du référentiel pour les packages Docker et Docker Compose :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Créez le nouveau fichier de référentiel pour vos packages Docker et Docker Compose :
sudo nano /etc/apt/sources.list.d/docker.list
Écrivez la ligne de code suivante dans votre nouveau fichier de référentiel :
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Mettez à jour et mettez à niveau l’intégralité de votre système Ubuntu en exécutant la commande suivante :
sudo apt update && sudo apt upgrade
Installez le moteur Docker avec Docker Compose et ses dépendances de composants :
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git curl
Assurez-vous que votre utilisateur actuel dispose des autorisations appropriées pour accéder aux binaires Docker :
sudo usermod -aG docker ramces
Configuration et déploiement de Listmonk
Créez un nouveau dossier pour vos fichiers Docker dans le répertoire personnel de votre utilisateur actuel :
mkdir ~/listmonk && cd ~/listmonk
Créez un nouveau fichier de configuration pour votre instance Listmonk :
nano. /config.toml
Collez le code suivant dans votre nouveau fichier de configuration :
[app]
address = "0.0.0.0:9000"
admin_username = "listmonk"
admin_password = "listmonk"
[db]
host = "listmonk_db"
port = 5432
user = "listmonk"
password = "INSERT_RANDOM_PASSWORD_HERE"
database = "listmonk"
ssl_mode = "disable"
max_open = 25
max_idle = 25
max_lifetime = "300s"
params = ""
Enregistrez votre nouveau fichier de configuration, puis créez le docker-compose.yml de votre instance Listmonk :
nano. /docker-compose.yml
Collez le bloc de code suivant dans votre nouveau. fichier yml. Il s’agit du fichier docker-compose.yml par défaut pour Listmonk que j’ai modifié pour fonctionner avec mon fuseau horaire :
---
version: "3.7"
x-app-defaults:
restart: unless-stopped
image: listmonk/listmonk:latest
ports:
- 9000:9000
networks:
- listmonk
environment:
- TZ=Asia/Manila
x-db-defaults:
image: postgres:13
ports:
- 9432:5432
networks:
- listmonk
environment:
- POSTGRES_PASSWORD=INSERT_RANDOM_PASSWORD_HERE
- POSTGRES_USER=listmonk
- POSTGRES_DB=listmonk
restart: unless-stopped
healthcheck:
test:
- CMD-SHELL
- pg_isready -U listmonk
interval: 10s
timeout: 5s
retries: 6
services:
db:
image: postgres:13
ports:
- 9432:5432
networks:
- listmonk
environment:
- POSTGRES_PASSWORD=INSERT_RANDOM_PASSWORD_HERE
- POSTGRES_USER=listmonk
- POSTGRES_DB=listmonk
restart: unless-stopped
healthcheck:
test:
- CMD-SHELL
- pg_isready -U listmonk
interval: 10s
timeout: 5s
retries: 6
container_name: listmonk_db
volumes:
- type: volume
source: listmonk-data
target: /var/lib/postgresql/data
app:
restart: unless-stopped
image: listmonk/listmonk:latest
ports:
- 9000:9000
networks:
- listmonk
environment:
- TZ=Asia/Manila
container_name: listmonk_app
depends_on:
- db
volumes:
-. /config.toml:/listmonk/config.toml
networks:
listmonk: null
volumes:
listmonk-data: null
Déploiement du conteneur Docker Listmonk
Exécutez la commande Docker suivante pour générer le fichier de base de données de votre instance :
docker compose up db
Ouvrez une nouvelle connexion SSH, puis démarrez le processus de construction de Listmonk en exécutant le binaire « listmonk » dans son conteneur Docker :
docker compose run --rm app. /listmonk --install
Tapez « Y », puis appuyez sur Enterlorsque le script de construction vous demande d’effacer toutes les données existantes sur la base de données en cours d’exécution. Cela garantira que votre conteneur Listmonk est propre au démarrage.
Revenez à la session SSH pour la base de données de votre instance, puis appuyez sur Ctrl+ Cpour terminer la session en douceur.
Enfin, redémarrez tous les conteneurs Docker pour Listmonk avec ses paramètres appropriés :
docker compose up -d app db
Création d’un proxy inverse Nginx
Même si Listmonk a commencé à s’exécuter sur une instance Docker, il n’est pas accessible au public tant que vous n’avez pas configuré un proxy inverse pour s’y connecter. Suivez les instructions ci-dessous pour configurer un proxy inverse Nginx.
Créez un nouveau fichier de configuration de site pour votre instance Listmonk :
sudo nano /etc/nginx/sites-available/listmonk
Collez le bloc de code suivant dans votre nouveau fichier de configuration de site :
server {
server_name listmonk.myvpsserver.top;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}}
Liez votre nouveau fichier de configuration de /etc/nginx/sites-available à /etc/nginx/sites-enabled :
sudo ln -s /etc/nginx/sites-available/listmonk /etc/nginx/sites-enabled/
Redémarrez votre démon de serveur Nginx en exécutant la commande suivante :
sudo systemctl reload nginx
Installation du certificat SSL
Une fois que vous avez configuré le proxy inverse, votre site sera accessible au public. Cependant, il n’est pas sécurisé car il n’existe pas de certificat SSL. Ainsi, l’étape suivante consiste à installer le certificat SSL.
Assurez-vous que le démon Snap principal est en cours d’exécution sur votre système :
sudo snap install core
Installez le package snap certbot de l’Electronic Frontier Foundation (EFF). Cet utilitaire vous permettra de demander un certificat SSL que votre serveur pourra utiliser pour crypter les connexions entre hôtes.
sudo snap install certbot --classic
Testez si votre package certbot fonctionne correctement en l’enregistrant auprès de l’EFF :
sudo certbot register --agree-tos -m you@your-email.invalid
Obtenez un nouveau certificat SSL pour votre installation Listmonk en exécutant la commande suivante :
sudo certbot --nginx -d listmonk.myvpsserver.top
Accès et configuration de Listmonk
Ouvrez un navigateur Web, puis accédez à l’adresse de votre instance Listmonk. Cela fera apparaître une simple page Web avec un bouton de connexion.
Cliquez sur le bouton « Connexion », puis tapez « listmonk » dans les champs Nom d’utilisateur et Mot de passe.
Cela chargera le tableau de bord principal de votre instance Listmonk. Cliquez sur l’option « Paramètres » dans la barre latérale gauche de la page.
Remplacez la valeur de la zone de texte « URL racine » par l’adresse complète de votre instance Listmonk.
Cliquez sur « Enregistrer » dans le coin supérieur droit de la page pour enregistrer le nouveau paramètre.
Lier un compte Gmail à Listmonk
Connectez-vous à votre compte Gmail, puis cliquez sur l’icône de votre utilisateur dans le coin supérieur droit de la page.
Cliquez sur « Gérer votre compte Google ».
Cliquez sur la catégorie « Sécurité » dans la barre latérale gauche de la page. Sélectionnez l’option « Vérification en 2 étapes » dans la sous-page Sécurité.
Faites défiler vers le bas de la page, puis cliquez sur le bouton « Mots de passe de l’application ».
Cela fera apparaître une invite vous demandant le nom de l’application que vous souhaitez lier. Tapez « listmonk », puis cliquez sur « Créer ».
La page affichera alors une petite fenêtre avec 16 caractères aléatoires regroupés par quatre. Copiez-le dans un fichier texte, puis cliquez sur « Terminé ».
Revenez à la page de votre tableau de bord Listmonk, puis cliquez sur l’option « Paramètres » dans la barre latérale gauche de la page.
Sélectionnez l’onglet « SMTP » dans la barre supérieure de la page. Cliquez sur le lien « Gmail » sous la liste déroulante « Protocole d’authentification ».
Tapez l’adresse e-mail complète de votre compte Gmail dans le champ « Nom d’utilisateur ».
Cliquez sur le champ « Mot de passe », puis saisissez la chaîne de 16 lettres que vous avez copiée depuis le site Web Gmail sans espaces.
Cliquez sur « Enregistrer » pour appliquer vos nouveaux paramètres SMTP.
Enfin, allez dans l’onglet Général puis remplacez la valeur de la zone de texte « Adresse ‘de’ par défaut » par l’adresse de votre compte Gmail.
Création d’une nouvelle newsletter Listmonk
Accédez à la page de votre tableau de bord Listmonk, cliquez sur la catégorie « Listes », puis cliquez sur l’option « Toutes les listes ».
Sélectionnez le bouton « Nouveau » dans le coin supérieur droit de la page.
Remplissez les détails de votre nouvelle liste de diffusion, puis cliquez sur « Enregistrer ».
C’est ça. Vous avez terminé l’installation de Listmonk.
L’hébergement de votre propre newsletter n’est qu’une partie de la création de votre propre plateforme numérique. Découvrez comment vous pouvez étendre cela en hébergeant un blog sous Linux à l’aide de Ghost et en exécutant votre propre tableau Kanban Web avec Kanboard .
Crédit image : Newsletter – rédigée sur une vieille machine à écrire par 123RF. Toutes les modifications et captures d’écran par Ramces Red.
Laisser un commentaire