Installer listmonk avec Docker
listmonk

Installer listmonk avec Docker

Table des matières

GitHub - knadh/listmonk: High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app.
High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app. - knadh/listmonk

Si vous avez besoin d'une application qui permette de gérer newsletter et liste de diffusion sans dépendre d'un tiers, vous serez peut-être content d'apprendre que non seulement vous pouvez très bien héberger ce service, mais qu'en plus, il est très simple d'utilisation.

Aujourd'hui nous allons parler de listmonk! Un gestionnaire de newsletter et de liste de diffusion, rapide et riche en fonctionnalités!


⚡ Caractéristiques

  • Tableau de bord affichant un résumé d'informations pratiques.
  • Listes de diffusion.
  • Rebonds.
  • Campagnes.
  • Modèles.

💾 L'installation

  1. Créez votre compose.yml dans le dossier ou vous comptez installer listmonk:
nano compose.yml
  1. Et collez ça dedans:
x-app-defaults: &app-defaults
  restart: unless-stopped
  image: listmonk/listmonk:latest
  ports:
    - "9000:9000"
  networks:
    - listmonk
  environment:
    - TZ=Etc/UTC

x-db-defaults: &db-defaults
  image: postgres:14-alpine
  ports:
    - "9432:5432"
  networks:
    - listmonk
  environment:
    - POSTGRES_PASSWORD=kKc5WMPAM2Q6s
    - 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:
    <<: *db-defaults
    container_name: listmonk_db
    volumes:
      - type: volume
        source: listmonk-data
        target: /var/lib/postgresql/data

  app:
    <<: *app-defaults
    container_name: listmonk_app
    hostname: listmonk.monsite.com # Recommend using FQDN for hostname
    depends_on:
      - db
    volumes:
      - ./config.toml:/listmonk/config.toml
      - ./uploads:/listmonk/uploads

networks:
  listmonk:

volumes:
  listmonk-data:

Veillez à modifier:

  • listmonk.monsite.com => Remplacez listmonk.monsite.com par le domaine auquel sera lié listmonk, sans https://.

Nous allons lancer la base de données:

docker compose up db -d

Reste à configurer la base de données:

docker compose run --rm app ./listmonk --install

Passons à la création du fichier config:

nano config.toml

Collez ça dedans:

[app]
address = "0.0.0.0:9000"
admin_username = "goldorak"
admin_password = "MontMotDePasse"

# Database.
[db]
host = "listmonk_db"
port = 5432
user = "listmonk"
password = "kKc5WMPAM2Q6s"

# Ensure that this database has been created in Postgres.
database = "listmonk"

ssl_mode = "disable"
max_open = 25
max_idle = 25
max_lifetime = "300s"

# Optional space separated Postgres DSN params. eg: "application_name=listmonk gssencmode=disable"
params = ""

Veillez à changer:

  • admin_username = "goldorak" => Remplacez goldorak par votre nom d'utilisateur. Conservez bien les guillemets.
  • admin_password = "MontMotDePasse" => Remplacez MontMotDePasse par votre mot de passe utilisateur. Conservez bien les guillemets également.

On va déployer l'application:

docker compos up app -d
  1. Rendez-vous sur votre domaine:
https://listmonk.mondomaine.com

👤 Se connecter avec son compte administrateur

Cliquez sur Login:

Une fenêtre pop-up va apparaître:

Entrez les informations de votre compte administrateur et cliquez sur Connexion, vous serez redirigé vers le tableau de bord:


🇫🇷 Choisir la langue française

Cliquez dans le menu de gauche sur:

Choisissez la langue de votre choix, ici le français:

N'oubliez pas de sauver en cliquant en haut à droite sur:

Votre interface est dorénavant en français!


👥 Les abonnés & abonnées

Dans le menu de gauche, niveau abonnées & abonnées:

Vous pouvez ajouter vous-même une personne ou en importer.

Ajout manuel

Cliquez sur:

Remplissez le formulaire:

  • E-mail => Indiquez l'adresse e-mail de la personne.
  • Nom => Choisissez un nom.
  • Statut => Soit la personne est activée ou bloquée.
  • Listes => Sélectionnez la ou les listes.

Terminez en cliquant sur Enregistrer.

Par importation

Dans la partie Importer:

  • Mode => Soit les personnes sont directement abonnées ou bloquées.
  • Statut => Confirmé ou non.
  • Écraser ? => Tout dépend si vous voulez remplacer nom et attributs des données existantes.

Cliquez dans la zone pour importer votre liste, le fichier doit-être au format CSV ou ZIP.

Veuillez lire les instructions suivantes:


⚙️ Quelques réglages importants des paramètres

Général

  • Nom du site => Nommez votre instance.
  • URL racine => Indiquez l'URL complète de votre site.
  • URL du logo => Facultatif, personnalisez votre instance avec un logo en indiquant l'URL de celui-ci.
  • URL du flavicon => Facultatif, personnalisez votre instance avec un flavicon en indiquant l'URL de celui-ci.
  • Adresse e-mail `De :` par défaut => C'est l'adresse e-mail avec laquelle seront envoyés les e-mails.
  • E-mails pour les notifications admin => Indiquez une adresse e-mail pour les notifications. Elle peut-être identique à celle par défaut.

N'oubliez pas de sauver en cliquant en haut à droite sur:


📫 Configurer le serveur mail

Si vous avez votre propre service mail, vous avez les informations nécessaires à entrer ci-dessous.

Mais vous pouvez également utiliser les serveurs mail de Google, Outlook, Infomaniak,.. Jetez un œil ici pour avoir les paramètres nécessaires:

Configurer le SMTP pour envoyer un mail avec une application Docker
Tutoriel pour configurer le SMTP afin d’envoyer un mail à partir de vos applications self-hosted.

Sous l'onglet SMTP, toujours situés dans les paramètres:

  • Hôte => Indiquez l'hôte du serveur SMP.
  • Port => Indiquez le port du serveur mail.
  • Protocole => PLAIN
  • Nom d'utilisateur => Indiquez votre adresse e-mail complète.
  • Mot de passe => Indiquez le mot de passe du votre e-mail.
  • TLS => Dans mon cas STARTTLS.

Quand tout est configuré, cliquez sur:

Indiquez votre adresse e-mail et cliquez sur Envoyer un e-mail:

Si vous avez ce message, c'est que c'est fonctionnel:

N'oubliez pas de bien tout enregistrer en cliquant sur:


🗒️ Créer une liste

Listes

Vous pouvez créer plusieurs listes suivant ce que vous avez à exprimer lors de vos compagnes de diffusion.

Créons une liste pour dire au monde combien on aime les pommes! Cliquez dans la partie gauche du menu, sur Listes, Toutes les listes:

Vous pouvez constater qu'il y a déjà des listes d'exemples:

Pour créer une liste, cliquez sur:

Remplissez le formulaire:

  • Nom => Nommez votre liste.
  • Type => Publique ou privée. Si la liste est publique, les personnes pourront choisir elles-mêmes la liste à laquelle elles veulent s'inscrire.
  • Abonnement "opt-in" => L'option "opt-in double" envoie un e-mail à l'abonné·e demandant sa confirmation. Pour les listes en "opt-in double", les campagnes ne sont envoyées qu'aux abonné·es s'étant confirmé·es.
  • Étiquettes => Si vous voulez créer une étiquette, taper le nom, faites Entrée sur votre clavier, ainsi de suite.
  • Description => Ajoutez une description afin que

Cliquez sur Enregistrer pour terminer, elle a bien été ajoutée:

Formulaires

La partie formulaire sert à intégrer les inscririons à une newsletter sur une page Web. Il faudra cochez toutes les listes publiques auxquelles vous laissez la possibilité de s'inscrire:

Cochez la liste que vous souhaitez intégrer et copiez le code HTML, quand vous aurez intégré le code HTML, cela se présentera sous cette forme:


🗺️ Créer une campagne

Dans le menu de gauche Campagnes, Toutes les campagnes:

Cliquez sur:

Remplissez les formulaires:

Campagne

  • Nom => Nommez votre campagne.
  • Objet => Ajoutez un objet.
  • Adresse d'envoi => Sélectionnez l'adresse e-mail pour envoyer la campagne.
  • Listes => Si vous avez plusieurs listes, sélectionnez celle souhaitée.
  • Modèle => Pour l'exemple on va se baser sur celle par défaut. Vous pouvez en créer de nouvelles dans la partie Modèles.
  • Service messagerie => email.
  • Étiquettes => Ajoutez une éventuellement une étiquette.
  • Envoyer plus tard => Vous pouvez programmer la date et l'heure pour l'envoi automatique.

Cliquez sur Continuer.

Contenu

C'est ici qu'il va falloir créer proprement dit votre newsletter. Vous pouvez ajouter des images, un fichier audio, vidéo,...

  • Format => Choisissez l'éditeur de texte avec lequel vous allez créer le contenu de la newsletter.

Quand vous êtes satisfait, cliquez sur:

Votre campagne est prête à être envoyée!

D'ailleurs, faisons un test, cliquez sur la 🚀 et confirmez votre choix:

Le processus commence:

C'est terminé:


zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.