[{"data":1,"prerenderedAt":156},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-listmonk-ma-fr":6,"promo-bar-likely":155},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-heberger-listmonk-ma-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":34,"sections":35,"ctaTitle":96,"ctaBody":97,"ctaButton":98,"ctaUrl":99,"relatedPosts":100},87,"heberger-listmonk",{"fr":10,"en":12,"ar":13,"es":14},"host-listmonk-on-your-own-vps","استضافة-listmonk-على-خادمك-الافتراضي-الخاص-vps","alojar-listmonk-en-un-vps","Héberger Listmonk sur votre propre VPS","Déployez Listmonk sur votre VPS : installation Docker, configuration SMTP avancée, gestion des bounces, mise à jour, dépannage courant et sauvegarde PostgreSQL.",7,0,false,"2026-03-25T00:00:00+00:00","2026-09-20T21:13:53+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[28],{"id":17,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-listmonk-poster.svg",{"categorySlug":24,"appSlug":33},"listmonk","Mailchimp, Brevo et consorts facturent au contact et plafonnent vos envois. Listmonk inverse le modèle : un gestionnaire de newsletters open source, écrit en Go, capable d'envoyer des millions d'e-mails depuis votre propre infrastructure. Voici comment l'installer sur un VPS, le configurer en profondeur et le maintenir dans le temps.",[36,40,50,53,75,78,81,84,87,90,93],{"type":37,"title":38,"body":39},"h2","Pourquoi auto-héberger Listmonk sur un VPS","Listmonk est un binaire Go unique adossé à PostgreSQL, capable de gérer des listes massives et des campagnes segmentées avec un débit d'envoi très élevé. Le self-hosting devient pertinent dès que votre base d'abonnés dépasse quelques milliers de contacts : les plateformes SaaS facturent alors des centaines d'euros par mois pour une tâche qu'un VPS modeste exécute pour le prix du serveur. Vous gardez la propriété intégrale de votre base d'e-mails (aucune fuite vers un tiers), vous branchez le relais SMTP de votre choix et vous pilotez la cadence d'envoi pour préserver votre réputation d'expéditeur. Un VPS est ici indispensable car Listmonk a besoin d'un processus persistant, d'une base PostgreSQL et de ports SMTP sortants ouverts — des libertés qu'aucun mutualisé n'accorde.",{"type":41,"title":42,"items":43},"ul","Bénéfices concrets de Listmonk auto-hébergé",[44,45,46,47,48,49],"Aucun coût au contact : la facture ne dépend plus de la taille de votre liste mais uniquement du VPS.","Segmentation par requêtes SQL : ciblez des sous-ensembles d'abonnés avec une précision impossible sur la plupart des SaaS.","Templating riche (Go templates + HTML) et campagnes A\u002FB versionnables dans votre dépôt.","API REST complète : déclenchez des envois transactionnels depuis votre application via webhook.","Suivi des ouvertures, clics et bounces dans une interface unifiée, sans pixel tiers.","Choix libre du relais (Postmark, Amazon SES, OVH, votre propre Postfix) pour optimiser délivrabilité et coût.",{"type":37,"title":51,"body":52},"Prérequis techniques","Listmonk lui-même est très léger, mais PostgreSQL et le volume d'envoi imposent un dimensionnement raisonnable : prévoyez 2 vCPU, 2 Go de RAM et 20 Go de disque pour une base de quelques dizaines de milliers de contacts ; montez à 4 Go de RAM si vous gérez des campagnes simultanées volumineuses. Côté infrastructure : Docker et Docker Compose, un domaine `mail.votredomaine.com` en A vers le VPS, et surtout les enregistrements DNS d'authentification e-mail (SPF, DKIM, DMARC) configurés sur le domaine d'envoi. Un relais SMTP avec identifiants (host, port 587, user, mot de passe) est nécessaire — l'envoi direct depuis l'IP d'un VPS est souvent bloqué par les fournisseurs.",{"type":54,"title":55,"steps":56},"steps","Déployer Listmonk pas à pas",[57,60,63,66,69,72],{"title":58,"body":59},"Récupérer la stack officielle","Sur le VPS, créez `\u002Fopt\u002Flistmonk` puis téléchargez le compose de référence : `curl -LO https:\u002F\u002Fraw.githubusercontent.com\u002Fknadh\u002Flistmonk\u002Fmaster\u002Fdocker-compose.yml`. Il déclare deux services, `app` (listmonk) et `db` (PostgreSQL).",{"title":61,"body":62},"Initialiser la base de données","Lancez la migration initiale avant le premier run : `docker compose run --rm app .\u002Flistmonk --install`. Cette commande crée le schéma PostgreSQL et l'utilisateur administrateur. Renseignez un mot de passe admin solide à l'invite.",{"title":64,"body":65},"Démarrer le service","Lancez la stack avec `docker compose up -d`. Listmonk écoute sur le port 9000 en interne. Vérifiez l'état des conteneurs avec `docker compose ps` et consultez les logs au besoin.",{"title":67,"body":68},"Configurer le reverse proxy et le SSL","Exposez Listmonk derrière un reverse proxy avec HTTPS. Exemple Caddy : `mail.votredomaine.com { reverse_proxy app:9000 }`. Le certificat Let's Encrypt est généré automatiquement. Ne publiez jamais le port 9000 directement sur Internet.",{"title":70,"body":71},"Brancher le relais SMTP","Dans Réglages > SMTP, saisissez les paramètres de votre relais (host, port 587, identifiants, TLS activé). Envoyez un e-mail de test depuis l'interface pour valider la connexion avant toute campagne.",{"title":73,"body":74},"Sécuriser la délivrabilité","Vérifiez avec un outil externe que SPF, DKIM et DMARC passent au vert sur votre domaine d'envoi. Démarrez par de petites campagnes pour « chauffer » l'IP du relais et surveillez le taux de bounce dans le tableau de bord.",{"type":37,"title":76,"body":77},"Configuration avancée : SMTP, listes et segments","Listmonk supporte plusieurs serveurs SMTP simultanément : créez un serveur dédié aux envois transactionnels (confirmations, mots de passe oubliés) et un second pour les campagnes marketing, chacun avec ses propres identifiants et limites de débit. Pour gérer les bounces automatiquement, activez le **Bounce Processor** dans Réglages > Bounces : Listmonk interroge une boîte IMAP (ou un webhook de votre relais) et désinscrit les adresses invalides sans intervention manuelle.\n\nPour les listes, préférez le **double opt-in** (Réglages > Listes > Opt-in) : un e-mail de confirmation est envoyé à chaque nouvel abonné, ce qui protège votre réputation et respecte le RGPD. Les **segments dynamiques** (Listes > Nouveau segment) s'appuient sur des requêtes SQL directes contre la table des abonnés : par exemple `attribs->>'plan' = 'pro' AND created_at > NOW() - INTERVAL '30 days'` pour cibler les nouveaux clients premium. Ces attributs personnalisés se passent à l'inscription via l'API (`POST \u002Fapi\u002Fsubscribers`) dans le champ `attribs` (objet JSON libre).",{"type":37,"title":79,"body":80},"Mise à jour de Listmonk","Avant toute mise à jour, sauvegardez la base : `docker exec listmonk_db_1 pg_dump -U listmonk listmonk > backup-avant-maj.sql`. Ensuite, arrêtez la stack, récupérez la nouvelle image et exécutez le script de migration :\n\n```bash\ndocker compose down\ndocker compose pull\ndocker compose run --rm app .\u002Flistmonk --upgrade\ndocker compose up -d\n```\n\nL'option `--upgrade` applique les migrations de schéma nécessaires entre versions. Consultez le journal des changements sur le dépôt officiel avant de passer d'une version majeure à une autre : certaines migrations sont irréversibles. Une fois le service redémarré, vérifiez l'interface et envoyez un e-mail de test pour confirmer que tout fonctionne.",{"type":37,"title":82,"body":83},"Dépannage courant","**Connexion SMTP refusée — `connection refused` sur le port 587.** La plupart des fournisseurs de VPS bloquent les ports SMTP sortants (25, 465, 587) pour lutter contre le spam. La solution : utiliser un relais SMTP externe (Postmark, Amazon SES, Brevo en mode relay) dont le trafic sort via l'API HTTPS ou un port autorisé. Vérifiez aussi que TLS est activé côté Listmonk (`STARTTLS` pour le 587).\n\n**Base PostgreSQL inaccessible au démarrage — `dial tcp db:5432: connect: connection refused`.** Le conteneur `app` démarre avant que PostgreSQL soit prêt. Ajoutez une directive `depends_on` avec `condition: service_healthy` dans votre `docker-compose.yml`, ou attendez quelques secondes avant de relancer : `docker compose restart app`.\n\n**502 Bad Gateway avec Caddy.** Le conteneur Listmonk n'est pas démarré ou a planté. Vérifiez `docker compose ps` : si `app` est en état `Exited`, lancez `docker compose logs app` pour identifier l'erreur, puis `docker compose up -d` pour le relancer.\n\n**Import CSV bloqué ou abonnés manquants.** Listmonk exige un fichier CSV encodé en **UTF-8 sans BOM**, avec au minimum une colonne `email`. Un fichier exporté depuis Excel peut contenir un BOM (marqueur invisible en début de fichier) ou un encodage Windows-1252 : convertissez-le avec `iconv -f WINDOWS-1252 -t UTF-8 liste.csv > liste-utf8.csv` avant l'import.",{"type":85,"body":86},"tip","Réglez la limite de débit d'envoi (`Settings > Performance > max concurrent connections` et `message rate`) en fonction des quotas de votre relais SMTP. Un envoi trop agressif fait grimper le taux de spam et le rejet. Pour les e-mails transactionnels critiques, créez un second serveur de messagerie dans Listmonk dédié à ces envois, séparé du serveur marketing : ainsi un problème de réputation sur les newsletters n'affecte pas vos e-mails de confirmation.",{"type":85,"title":88,"body":89},"RGPD et listes de suppression","Listmonk maintient automatiquement une liste de suppression (unsubscribes + bounces durs). Pour être conforme au RGPD, activez le double opt-in sur toutes vos listes publiques et configurez la page de désabonnement avec un lien `{{ UnsubscribeURL }}` dans chaque template. Les données des abonnés désinscrits restent en base (pour éviter une réinscription accidentelle) mais sont marquées `blocklisted` : ils ne reçoivent plus aucun envoi. Exportez et purgez régulièrement ces entrées si votre DPA l'exige.",{"type":37,"title":91,"body":92},"Cas d'usage : boutique e-commerce avec e-mails transactionnels et newsletters","Imaginez une boutique PrestaShop ou WooCommerce auto-hébergée sur un VPS ServOrbit. Configurez Listmonk comme moteur d'e-mail central : les confirmations de commande et les notifications d'expédition transitent par l'API transactionnelle (`\u002Fapi\u002Ftx`) avec un template Listmonk ; les clients qui opt-inent à la newsletter reçoivent une campagne hebdomadaire via la liste Listmonk. Un seul relais SMTP, une seule plateforme, zéro frais par abonné. La segmentation par attributs personnalisés (panier moyen, catégorie préférée, date du dernier achat) vous permet de cibler des offres précises — sans exporter vos données vers un SaaS tiers.",{"type":37,"title":94,"body":95},"Sauvegarde et portabilité des données","Listmonk stocke toutes ses données dans PostgreSQL (volume Docker `listmonk-db`). Pour sauvegarder : `docker exec listmonk_db_1 pg_dump -U listmonk listmonk > backup.sql`. Pour restaurer sur une autre instance : créez un nouveau déploiement Listmonk vide, arrêtez l'app, restaurez la base (`psql -U listmonk listmonk \u003C backup.sql`) et redémarrez. Les fichiers attachés (images en ligne) sont dans le volume `listmonk-uploads`. L'API REST de Listmonk permet aussi d'exporter les abonnés en CSV à tout moment depuis l'interface ou par script.","Reprenez le contrôle de vos newsletters","Avec le VPS Cloud ServOrbit et son template Listmonk préconfiguré (PostgreSQL et reverse proxy inclus), envoyez vos campagnes sans plafond de contacts et sans abonnement mensuel. Vous gardez votre base, vous choisissez votre relais.","Déployer sur VPS Cloud","\u002Fvps-cloud",[101,120,138],{"id":102,"slug":103,"slugs":104,"title":108,"excerpt":109,"readTime":110,"views":111,"isPinned":19,"noindex":19,"publishedAt":112,"updatedAt":113,"category":114,"categories":115,"featuredImage":29,"bgImage":30,"posterImage":117,"relatedSolution":118},71,"heberger-nextcloud",{"fr":103,"en":105,"ar":106,"es":107},"hosting-nextcloud-on-your-own-vps","استضافة-nextcloud-على-خادمك-الـvps-الخاص","alojar-nextcloud-en-su-propio-vps","Héberger Nextcloud sur VPS : guide NC 35, PHP 8.3 et MariaDB 11","Hébergez Nextcloud sur VPS : Docker Compose, Redis, sauvegarde MariaDB, envois de plus de 40 Go derrière Cloudflare et alternative à Office 2021.",20,1,"2026-04-10T00:00:00+00:00","2026-11-08T16:32:50+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[116],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-nextcloud-poster.svg",{"categorySlug":24,"appSlug":119},"nextcloud",{"id":121,"slug":122,"slugs":123,"title":127,"excerpt":128,"readTime":129,"views":111,"isPinned":19,"noindex":19,"publishedAt":130,"updatedAt":131,"category":132,"categories":133,"featuredImage":29,"bgImage":30,"posterImage":135,"relatedSolution":136},72,"heberger-ghost",{"fr":122,"en":124,"ar":125,"es":126},"hosting-ghost-on-your-own-vps","استضافة-ghost-على-خادمك-الـvps-الخاص","alojar-ghost-en-un-vps","Héberger Ghost sur VPS : guide complet 2026","Déployez Ghost v6 sur votre VPS avec Caddy, MySQL, Ghost CLI et Stripe Tax : installation, reverse proxy TLS, mise à jour et dépannage des erreurs fréquentes.",10,"2026-04-09T00:00:00+00:00","2026-11-04T16:30:25+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[134],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-ghost-poster.svg",{"categorySlug":24,"appSlug":137},"ghost",{"id":139,"slug":140,"slugs":141,"title":145,"excerpt":146,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":147,"updatedAt":148,"category":149,"categories":150,"featuredImage":29,"bgImage":30,"posterImage":152,"relatedSolution":153},73,"heberger-wordpress",{"fr":140,"en":142,"ar":143,"es":144},"host-wordpress-on-your-own-vps","استضافة-wordpress-على-خادم-vps-الخاص-بك","alojar-wordpress-en-un-vps","Héberger WordPress sur votre propre VPS","Hébergez WordPress sur votre VPS pour des performances et un contrôle maximaux : Docker, MariaDB, cache, reverse proxy et SSL.","2026-04-08T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[151],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-wordpress-poster.svg",{"categorySlug":24,"appSlug":154},"wordpress",true,1794270723725]