{"id":82074,"date":"2026-06-19T07:30:00","date_gmt":"2026-06-19T14:30:00","guid":{"rendered":"https:\/\/dhblog2.dream.press\/blog\/?p=82074"},"modified":"2026-09-24T15:19:57","modified_gmt":"2026-09-24T22:19:57","slug":"comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr","status":"publish","type":"post","link":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/","title":{"rendered":"Comment Ex\u00e9cuter Docker et Portainer sur un VPS (Guide 2026)"},"content":{"rendered":"<div class=\"tldr-block\" style=\"display: none;\">\n\t<div class=\"svg\">\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 119.25 37.8\">\n\t<g>\n\t\t<g>\n\t\t\t<path fill=\"#ffffff\" d=\"M23.4,6.93h-8.1v24.57h-7.2V6.93H0V0h23.4v6.93Z\" \/>\n\t\t\t<path fill=\"#ffffff\" d=\"M45,24.57v6.93h-18.45V0h7.2v24.57h11.25Z\" \/>\n\t\t\t<path fill=\"#ffffff\"\n\t\t\t\td=\"M90.9,15.75c0,8.91-6.61,15.75-15.3,15.75h-12.6V0h12.6c8.68,0,15.3,6.84,15.3,15.75ZM83.97,15.75c0-5.4-3.42-8.82-8.37-8.82h-5.4v17.64h5.4c4.95,0,8.37-3.42,8.37-8.82Z\" \/>\n\t\t\t<path fill=\"#ffffff\"\n\t\t\t\td=\"M105.57,21.15h-3.42v10.35h-7.2V0h12.6c5.98,0,10.8,4.81,10.8,10.8,0,3.87-2.34,7.38-5.81,9.13l6.71,11.56h-7.74l-5.94-10.35ZM102.15,14.85h5.4c1.98,0,3.6-1.75,3.6-4.05s-1.62-4.05-3.6-4.05h-5.4v8.1Z\" \/>\n\t\t<\/g>\n\t\t<path\n\t\t\tfill=\"#0173ec\"\n\t\t\td=\"M53.97,37.8h-5.4l1.8-13.27h7.2l-3.6,13.27ZM49.02,12.55c0-2.34,1.93-4.27,4.27-4.27s4.27,1.94,4.27,4.27-1.93,4.27-4.27,4.27-4.27-1.94-4.27-4.27Z\"\n\t\t \/>\n\t<\/g>\n<\/svg>\n\t<\/div>\n\t<div class=\"tldr-wrap\">\n\t\t\n\n<p class=\"wp-block-paragraph\">Ex\u00e9cuter <a href=\"https:\/\/www.dreamhost.com\/fr\/hosting\/vps\/docker\/\">Docker sur un VPS<\/a> te permet d&#8217;avoir des applications auto-h\u00e9berg\u00e9es et portables tout en gardant un contr\u00f4le direct sur le serveur et la configuration de d\u00e9ploiement. Ajouter Portainer place une interface utilisateur web devant Docker pour que tu n&#8217;aies pas \u00e0 vivre dans le terminal.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer ne publie aucun minimum de RAM. Un VPS de 4 Go peut convenir \u00e0 une petite pile, mais dimensionne-le \u00e0 partir des besoins combin\u00e9s du syst\u00e8me d&#8217;exploitation, du d\u00e9mon Docker et de chaque conteneur que tu pr\u00e9vois d&#8217;ex\u00e9cuter. Portainer lui-m\u00eame fonctionne comme un conteneur l\u00e9ger : ce sont tes applications, et non l&#8217;interface, qui d\u00e9terminent la quantit\u00e9 de RAM n\u00e9cessaire. Portainer Community Edition est gratuit et open source, et une fois Docker et le pare-feu pr\u00e9par\u00e9s, l&#8217;installation elle-m\u00eame se r\u00e9sume \u00e0 une cr\u00e9ation de volume et une commande docker run.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deux pi\u00e8ges \u00e0 conna\u00eetre avant de commencer : Portainer n&#8217;attend que cinq minutes la cr\u00e9ation du premier compte administrateur, et Docker publie par d\u00e9faut des ports qui passent directement \u00e0 travers UFW. Ce guide traite les deux dans l&#8217;ordre : l&#8217;installation, le pare-feu, le dimensionnement, les sauvegardes, et o\u00f9 Portainer prouve son utilit\u00e9 d\u00e8s le deuxi\u00e8me jour.<\/p>\n\n\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">As-tu d\u00e9j\u00e0 entendu parler de <em>Dockerception<\/em> ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alors, accroche-toi \u00e0 ton chapeau. Nous descendons dans le terrier du lapin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer, l&#8217;interface web que tu t&#8217;appr\u00eates \u00e0 installer sur Docker, <em>est lui-m\u00eame un conteneur Docker<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C&#8217;est un outil qui fonctionne sur la chose m\u00eame qu&#8217;il g\u00e8re. Tu le lances avec une seule ligne docker run, et la premi\u00e8re chose qu&#8217;il fait est de revenir en arri\u00e8re \u00e0 travers un petit trou dans l&#8217;h\u00f4te (un fichier socket) et de demander au d\u00e9mon Docker de lui montrer tous les conteneurs de la machine, y compris lui-m\u00eame. Depuis cet onglet de navigateur, tu g\u00e8res tous tes autres conteneurs Docker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>L&#8217;interface que tu observes appara\u00eet dans sa propre liste de conteneurs.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sur un VPS o\u00f9 tu paies d\u00e9j\u00e0 pour la machine et es d\u00e9j\u00e0 \u00e0 l&#8217;aise avec SSH, Portainer s&#8217;int\u00e8gre proprement sur Docker sans changer le fonctionnement de ce qui se trouve en dessous.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>C&#8217;est<\/em> la valeur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une machine de 4 Go peut \u00eatre un point de d\u00e9part pour Docker et Portainer, mais ce sont les applications que tu ajoutes qui d\u00e9terminent si cette capacit\u00e9 suffit. Pense \u00e0 l&#8217;automatisation de la maison, au stockage des photos de famille, \u00e0 l&#8217;assistant IA et \u00e0 la newsletter que tu menaces de lancer depuis longtemps, sur un serveur qui t&#8217;appartient vraiment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voici comment le mettre en marche, le s\u00e9curiser et commencer \u00e0 voir sa valeur.<\/p>\n\n\n\n<h2 id=\"h-what-is-portainer-exactly\" class=\"wp-block-heading\">Qu&#8217;est-ce Que Portainer, Exactement ?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"829\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x.webp\" alt=\"Architecture de Portainer 1x\" class=\"wp-image-82009 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-300x155.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-1024x531.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-768x398.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-1536x796.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-600x311.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-1200x622.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-730x378.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-1460x756.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-784x406.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-1568x812.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01-Portainer-Architecture_1x-877x454.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/829;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Portainer est une interface utilisateur web qui fonctionne comme un conteneur Docker et g\u00e8re tes autres conteneurs via le socket Docker.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C&#8217;est essentiellement une interface frontend bas\u00e9e sur un navigateur (une interface graphique Docker) pour les m\u00eames commandes Docker que tu taperais sinon \u00e0 la main, avec en plus la gestion des piles, l&#8217;acc\u00e8s bas\u00e9 sur les r\u00f4les (si tu passes \u00e0 Business Edition) et une vue tableau de bord du CPU et de la m\u00e9moire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La connexion par socket est ce qui le fait fonctionner. La liaison ressemble \u00e0 <code><strong>-v \/var\/run\/docker.sock:\/var\/run\/docker.sock<\/strong><\/code> dans la commande d&#8217;installation, et cette seule ligne fait tout le travail difficile. Sans elle, Portainer est une interface utilisateur pour un h\u00f4te Docker vide. Avec elle, Portainer est la t\u00e9l\u00e9commande de l&#8217;h\u00f4te Docker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une chose \u00e0 garder en t\u00eate : tout processus qui peut atteindre <strong><code>\/var\/run\/docker.sock<\/code><\/strong> peut contr\u00f4ler le d\u00e9mon Docker, et la <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/security\/\">documentation de s\u00e9curit\u00e9 de Docker<\/a> est cat\u00e9gorique : seuls des utilisateurs de confiance devraient pouvoir le faire, car un conteneur d\u00e9marr\u00e9 via le d\u00e9mon peut monter l&#8217;int\u00e9gralit\u00e9 du syst\u00e8me de fichiers de l&#8217;h\u00f4te et le modifier sans restriction. C&#8217;est une <em>fonctionnalit\u00e9<\/em> lorsque c&#8217;est Portainer qui en fait la demande et un <em>probl\u00e8me<\/em> lorsque c&#8217;est un conteneur que tu as lanc\u00e9 la semaine derni\u00e8re en oubliant que tu lui avais donn\u00e9 acc\u00e8s au socket.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Traite la liaison du socket comme une capacit\u00e9 privil\u00e9gi\u00e9e, et audite chaque autre conteneur qui en veut une.<\/p>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h2 id=\"h-do-you-need-portainer-if-you-already-have-docker\" class=\"wp-block-heading\">As-tu Besoin De Portainer Si Tu Poss\u00e8des D\u00e9j\u00e0 Docker ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Non. <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/what-is-docker\/\">Docker<\/a> fonctionne bien depuis le terminal, et beaucoup de personnes utilisent quelques conteneurs pendant des ann\u00e9es sans jamais installer d&#8217;interface utilisateur dessus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tu veux Portainer si :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tu jongleras avec plus de deux ou trois conteneurs Docker \u00e0 travers diff\u00e9rentes applications.<\/li>\n\n\n\n<li>Tu pr\u00e9f\u00e8res cliquer sur \u00ab red\u00e9marrer \u00bb plut\u00f4t que de retaper une commande Compose \u00e0 23 h.&nbsp;<\/li>\n\n\n\n<li>Tu partages l&#8217;acc\u00e8s avec quelqu&#8217;un qui ne vit pas dans un terminal.&nbsp;<\/li>\n\n\n\n<li>Tu veux d\u00e9ployer des mises \u00e0 jour de piles depuis un d\u00e9p\u00f4t Git sans \u00e9crire de script de d\u00e9ploiement.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Passe-toi de Portainer si :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tu utilises un ou deux conteneurs qui changent rarement.&nbsp;<\/li>\n\n\n\n<li>Tu es d\u00e9j\u00e0 \u00e0 l&#8217;aise avec Docker Compose, et tu es content de rester l\u00e0.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Docker est suffisamment grand public pour que ce ne soit pas une d\u00e9cision marginale. Dans l&#8217;<a target=\"_blank\" href=\"https:\/\/stackoverflow.co\/company\/press\/archive\/stack-overflow-2025-developer-survey\/\">enqu\u00eate Stack Overflow Developer Survey 2025<\/a>, 71 % des r\u00e9pondants ont d\u00e9clar\u00e9 utiliser Docker, le meilleur r\u00e9sultat parmi les technologies de d\u00e9veloppement cloud et d&#8217;infrastructure, apr\u00e8s un bond de 17 points de pourcentage par rapport \u00e0 2024. Le projet Portainer compte plus de <a target=\"_blank\" href=\"https:\/\/github.com\/portainer\/portainer\">38 000 \u00e9toiles sur GitHub<\/a> en date d&#8217;ao\u00fbt 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">D&#8217;autres options existent. <a href=\"https:\/\/www.dreamhost.com\/fr\/hosting\/vps\/dokploy\/\">Dokploy<\/a>, par exemple, tend davantage vers une PaaS auto-h\u00e9berg\u00e9e compl\u00e8te, en g\u00e9rant pour toi les applications, les bases de donn\u00e9es et le SSL. Portainer reste plus proche de Docker pur : m\u00eames fichiers Compose, m\u00eames images, simplement avec une interface par-dessus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tu vis dans tmux et que tu utilises une seule application, ferme cet onglet. <em>Tu n&#8217;en as pas besoin.<\/em> Si tu g\u00e8res quatre applications auto-h\u00e9berg\u00e9es et que tu as cherch\u00e9 \u00ab Comment on consulte d\u00e9j\u00e0 les logs Docker ? \u00bb deux fois ce mois-ci, continue \u00e0 lire.<\/p>\n\n\n\n<h2 id=\"h-how-big-a-vps-do-you-need-to-run-docker-and-portainer\" class=\"wp-block-heading\">Quelle Taille De VPS Te Faut-il Pour Ex\u00e9cuter Docker Et Portainer ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer ne publie aucun minimum de RAM. Un <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/beginners-guide-vps\/\">VPS<\/a> de 4 Go peut convenir \u00e0 une petite pile, mais dimensionne-le \u00e0 partir des besoins combin\u00e9s du syst\u00e8me d&#8217;exploitation, du d\u00e9mon Docker et de chaque conteneur que tu pr\u00e9vois d&#8217;ex\u00e9cuter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La propre <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/start\/requirements-and-prerequisites\">page de configuration requise<\/a> de Portainer dit \u00e9tonnamment peu de choses sur la RAM : le serveur est livr\u00e9 sous forme de conteneur l\u00e9ger, et les recommandations de performance de la documentation concernent le stockage (plus de d\u00e9tails ci-dessous). Le vrai calcul de RAM, ce sont tes charges de travail : pr\u00e9vois de la place pour le syst\u00e8me d&#8217;exploitation, le d\u00e9mon Docker et chaque conteneur que tu comptes ex\u00e9cuter. Pr\u00e9vois aussi de l&#8217;espace disque pour les logs : le pilote de logs json-file par d\u00e9faut de Docker n&#8217;effectue aucune rotation, donc les logs d&#8217;un conteneur bavard peuvent consommer une quantit\u00e9 importante de disque avec le temps. La <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/logging\/configure\/\">documentation de journalisation de Docker<\/a> recommande plut\u00f4t le pilote local. Une fois Docker install\u00e9 (\u00e9tape 2 ci-dessous), cr\u00e9e le r\u00e9pertoire de configuration de Docker et d\u00e9finis le pilote de logs local, puis red\u00e9marre Docker : ex\u00e9cute <strong><code>sudo install -d -m 0755 \/etc\/docker<\/code><\/strong>, puis <strong><code>printf '%s\\n' '{ \"log-driver\": \"local\" }' | sudo tee \/etc\/docker\/daemon.json &gt; \/dev\/null<\/code><\/strong>, puis <strong><code>sudo systemctl restart docker<\/code><\/strong>. Fais-le avant de d\u00e9ployer des applications qui tournent longtemps : le pilote local effectue la rotation des logs par d\u00e9faut, et le changement ne s&#8217;applique qu&#8217;aux conteneurs cr\u00e9\u00e9s apr\u00e8s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voici comment cela se traduit en charges de travail r\u00e9elles :<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1089\" height=\"1445\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a.webp\" alt=\"Tableau montrant le dimensionnement du VPS pour Docker et Portainer : une seule petite pile d'applications avec Ghost, n8n, Postgres et un proxy inverse tient sur DreamHost Stack 4 avec 4 Go de RAM ; les plans plus grands se dimensionnent selon les besoins document\u00e9s des charges de travail\" class=\"wp-image-87229 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a.webp 1089w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-226x300.webp 226w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-772x1024.webp 772w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-768x1019.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-600x796.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-730x969.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-784x1040.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/vps-size-and-workload-docker-portainer-dreamops-a195c957dc63964ff3f33f0a-877x1164.webp 877w\" data-sizes=\"(max-width: 1089px) 100vw, 1089px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1089px; --smush-placeholder-aspect-ratio: 1089\/1445;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La feuille de calcul est une simple addition : cherche les besoins en RAM document\u00e9s de chaque application que tu pr\u00e9vois d&#8217;ex\u00e9cuter, ajoute le syst\u00e8me d&#8217;exploitation et le d\u00e9mon Docker, puis garde de la marge pour les pics d&#8217;utilisation. Portainer lui-m\u00eame ne publie aucun minimum de RAM : ce sont donc les applications, et non l&#8217;interface, qui remplissent la machine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Chez DreamHost, notre offre <a href=\"https:\/\/www.dreamhost.com\/fr\/hosting\/vps\/\" target=\"_blank\">VPS Hosting<\/a> se d\u00e9cline en quatre plans Stack bas\u00e9s sur la RAM (Stack 4, 8, 16 et 32). Le Stack 4 d&#8217;entr\u00e9e de gamme (2 vCPU, 4 Go de RAM, 75 Go de SSD NVMe, acc\u00e8s root complet) convient naturellement \u00e0 un petit h\u00f4te Docker. En facturation mensuelle, il co\u00fbte 8,99 $\/mois pendant les 3 premiers mois, puis se renouvelle automatiquement \u00e0 15,99 $\/mois (en date d&#8217;ao\u00fbt 2026 ; la dur\u00e9e compl\u00e8te plus les taxes est factur\u00e9e lors du paiement ; les tarifs actuels sont toujours sur la <a href=\"https:\/\/www.dreamhost.com\/fr\/hosting\/vps\/docker\/\">page VPS Docker + Portainer<\/a>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tu h\u00e9sites \u00e0 savoir si l&#8217;<a href=\"https:\/\/www.dreamhost.com\/blog\/self-hosting\/\" target=\"_blank\">auto-h\u00e9bergement<\/a> vaut le temps investi, le Stack 4 est la taille par laquelle commencer : assez grand pour le d\u00e9couvrir, assez petit pour ne pas payer une marge que tu n&#8217;utiliseras pas. Si ta feuille de calcul le d\u00e9passe, tu peux passer \u00e0 un plan sup\u00e9rieur et ton environnement te suit, mais note que le passage \u00e0 un Stack plus petit n&#8217;est pas pris en charge actuellement : commence donc petit en connaissance de cause.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Une remarque sur le stockage :<\/strong> le volume de donn\u00e9es de Portainer contient sa propre base de donn\u00e9es et sa configuration, plus un clone de tout d\u00e9p\u00f4t Git \u00e0 partir duquel tu d\u00e9ploies des piles ; la documentation de Portainer avertit que des d\u00e9p\u00f4ts volumineux ou multiples peuvent consommer beaucoup d&#8217;espace disque. Les recommandations de performance de la documentation portent sur le stockage, pas sur la m\u00e9moire : des performances de niveau SSD (\u22483,5 MB\/s, 30 000 IOPS ou plus, moins de 10 ms de latence d&#8217;\u00e9criture) sont ce qu&#8217;elle qualifie d&#8217;id\u00e9al. Le Stack 4 inclut 75 Go de stockage SSD NVMe.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-install-docker-and-portainer-on-a-vps\" class=\"wp-block-heading\">Comment Installer Docker Et Portainer Sur Un VPS ?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1392\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x.webp\" alt=\"Formulaire de configuration initiale de Portainer.io pour la cr\u00e9ation du compte administrateur avec nom d'utilisateur\" class=\"wp-image-82012 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-300x261.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-1024x891.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-768x668.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-1536x1336.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-600x522.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-1200x1044.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-730x635.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-1460x1270.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-784x682.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-1568x1364.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03-Protainer.io-new-installer_1x-877x763.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1392;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il faut sept \u00e9tapes. Le temps de t\u00e9l\u00e9chargement et d&#8217;installation d\u00e9pend de ton VPS et de ta connexion r\u00e9seau. Les commandes des \u00e9tapes 2 \u00e0 6 sont \u00e9crites pour Ubuntu et peuvent \u00eatre coll\u00e9es dans l&#8217;ordre sur un serveur vierge ; le seul endroit o\u00f9 une commande n\u00e9cessite une valeur que toi seul connais (ta propre adresse IP, \u00e0 l&#8217;\u00e9tape 4) est signal\u00e9 dans l&#8217;\u00e9tape. (Tu veux sauter toute la liste ? La biblioth\u00e8que d&#8217;applications de DreamHost VPS Hosting inclut une <a href=\"https:\/\/www.dreamhost.com\/fr\/hosting\/vps\/docker\/\">image Docker + Portainer<\/a> avec les deux pr\u00e9configur\u00e9s.)<\/p>\n\n\n\n<h3 id=\"h-1-pick-a-linux-distribution\" class=\"wp-block-heading\">1. Choisis une distribution Linux<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ce guide utilise Ubuntu 24.04 LTS. Docker Engine prend en charge Ubuntu 22.04, 24.04 et 26.04 LTS (en date d&#8217;ao\u00fbt 2026). <a href=\"https:\/\/www.dreamhost.com\/fr\/hosting\/vps\/ubuntu\/\">Ubuntu<\/a> est l&#8217;un des syst\u00e8mes d&#8217;exploitation pr\u00e9install\u00e9s propos\u00e9s sur DreamHost VPS Hosting.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Debian et les distributions de la famille RHEL comme AlmaLinux fonctionnent aussi, mais elles ont leurs propres proc\u00e9dures d&#8217;installation dans la documentation de Docker, et les commandes ci-dessous ne s&#8217;y appliqueront pas telles quelles. Une subtilit\u00e9 suppl\u00e9mentaire pour la famille RHEL : la documentation d&#8217;installation de Portainer suppose que SELinux est d\u00e9sactiv\u00e9, et indique de passer <strong><code>--privileged<\/code><\/strong> \u00e0 Docker lors du d\u00e9ploiement de Portainer si tu as besoin de SELinux activ\u00e9. Si cette phrase ne t&#8217;a rien dit, utilise Ubuntu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tu n&#8217;es pas s\u00fbr de la version d&#8217;Ubuntu que tu utilises ? Apprends <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/check-ubuntu-version\/\">cinq mani\u00e8res de v\u00e9rifier<\/a>.<\/p>\n\n\n\n<h3 id=\"h-2-install-docker-from-the-official-repository\" class=\"wp-block-heading\">2. Installe Docker depuis le d\u00e9p\u00f4t officiel<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ne fais pas <strong><code>apt install docker.io<\/code><\/strong>, et n&#8217;installe pas non plus Docker via snap : la <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/install\/ubuntu\/\">documentation officielle d&#8217;installation de Docker<\/a> classe <strong>docker.io<\/strong> parmi les paquets non officiels \u00e0 d\u00e9sinstaller avant d&#8217;installer Docker Engine, et la documentation d&#8217;installation de Portainer avertit que le paquet snap peut causer des probl\u00e8mes de compatibilit\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">D&#8217;abord, supprime les \u00e9ventuels paquets en conflit. Voici la commande de suppression de la documentation d&#8217;installation actuelle de Docker ; sur un serveur vierge, elle ne trouve g\u00e9n\u00e9ralement rien \u00e0 supprimer, et la documentation pr\u00e9cise qu&#8217;apt peut indiquer qu&#8217;aucun de ces paquets n&#8217;est install\u00e9 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, ajoute la cl\u00e9 GPG de Docker (chaque ligne ci-dessous est une commande distincte) :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install ca-certificates curl\nsudo install -m 0755 -d \/etc\/apt\/keyrings\nsudo curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg -o \/etc\/apt\/keyrings\/docker.asc\nsudo chmod a+r \/etc\/apt\/keyrings\/docker.asc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Puis ajoute le d\u00e9p\u00f4t apt de Docker. Cela \u00e9crit la d\u00e9finition du d\u00e9p\u00f4t dans <strong><code>\/etc\/apt\/sources.list.d\/docker.sources<\/code><\/strong>, le fichier qu&#8217;utilise la documentation d&#8217;installation de Docker, avec ta version d&#8217;Ubuntu et l&#8217;architecture de ton CPU renseign\u00e9es automatiquement :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/apt\/sources.list.d\/docker.sources &gt; \/dev\/null &lt;&lt;EOF\nTypes: deb\nURIs: https:\/\/download.docker.com\/linux\/ubuntu\nSuites: $(. \/etc\/os-release &amp;&amp; echo \"$VERSION_CODENAME\")\nComponents: stable\nArchitectures: $(dpkg --print-architecture)\nSigned-By: \/etc\/apt\/keyrings\/docker.asc\nEOF\nsudo apt update<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Enfin, installe Docker Engine et le plugin Compose en une seule fois :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin<\/code><\/pre>\n\n\n\n<h3 id=\"h-3-verify-docker-is-running\" class=\"wp-block-heading\">3. V\u00e9rifie que Docker fonctionne<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lance <strong><code>sudo docker run hello-world<\/code><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tu ne re\u00e7ois pas le message \u00ab Hello from Docker! \u00bb, corrige le d\u00e9mon avant d&#8217;ajouter Portainer par-dessus.<\/p>\n\n\n\n<h3 id=\"h-4-wire-ufw-into-docker-before-you-start-portainer\" class=\"wp-block-heading\">4. Int\u00e8gre UFW \u00e0 Docker avant de d\u00e9marrer Portainer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Voici la partie que la plupart des guides placent \u00e0 la fin, quand il est trop tard : lorsque Docker publie un port, le trafic vers ce port est d\u00e9vi\u00e9 avant d&#8217;atteindre les cha\u00eenes que filtre UFW, si bien qu&#8217;un port publi\u00e9 est accessible depuis l&#8217;internet public m\u00eame quand UFW indique qu&#8217;il est refus\u00e9. (L&#8217;explication compl\u00e8te se trouve <a href=\"#h-how-do-you-stop-docker-from-bypassing-your-firewall\">plus bas<\/a>.) D\u00e8s que tu d\u00e9marres Portainer, son port 9443 sera public, pendant pr\u00e9cis\u00e9ment la fen\u00eatre de cinq minutes o\u00f9 la premi\u00e8re personne qui l&#8217;atteint peut cr\u00e9er le compte administrateur. Alors corrige le pare-feu <em>en premier<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si UFW n&#8217;est pas d\u00e9j\u00e0 actif, autorise SSH et active-le. (Si ton SSH utilise un port personnalis\u00e9, autorise ce port au lieu du 22, sinon c&#8217;est \u00e0 cette \u00e9tape que tu te retrouves bloqu\u00e9 dehors.)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 22\/tcp\nsudo ufw enable<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Installe ensuite <a target=\"_blank\" href=\"https:\/\/github.com\/chaifeng\/ufw-docker\">chaifeng\/ufw-docker<\/a>, un outil tiers qui ajoute les r\u00e8gles n\u00e9cessaires \u00e0 <strong>\/etc\/ufw\/after.rules<\/strong> afin que le trafic vers les ports publi\u00e9s par Docker soit filtr\u00e9 par la cha\u00eene <strong>DOCKER-USER<\/strong>. Les commandes ci-dessous figent la version <strong>251123<\/strong> du projet (novembre 2025) au lieu de r\u00e9cup\u00e9rer la branche master qui \u00e9volue en permanence, et elles utilisent curl, que tu as install\u00e9 \u00e0 l&#8217;\u00e9tape 2 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo curl -fsSL -o \/usr\/local\/bin\/ufw-docker \\\n  https:\/\/github.com\/chaifeng\/ufw-docker\/raw\/251123\/ufw-docker\nsudo chmod +x \/usr\/local\/bin\/ufw-docker\nsudo ufw-docker install\nsudo ufw reload<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Apr\u00e8s le rechargement, les ports publi\u00e9s des conteneurs sont filtr\u00e9s par UFW. Si ta politique de trafic rout\u00e9 refuse les connexions entrantes et qu&#8217;aucune r\u00e8gle existante n&#8217;autorise le port, les connexions publiques restent bloqu\u00e9es jusqu&#8217;\u00e0 ce que tu les autorises explicitement. (Le projet ufw-docker indique que si les r\u00e8gles ne prennent pas effet apr\u00e8s un red\u00e9marrage d&#8217;UFW, un red\u00e9marrage du serveur r\u00e8gle le probl\u00e8me.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant, pr\u00e9-autorise <em>ton propre<\/em> acc\u00e8s \u00e0 l&#8217;interface de Portainer. Remplace <strong><code>YOUR_HOME_IP<\/code><\/strong> par l&#8217;IP publique depuis laquelle tu navigueras :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw route allow proto tcp from YOUR_HOME_IP to any port 9443<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Avec cette r\u00e8gle en place avant le d\u00e9marrage de Portainer, le trafic IPv4 vers l&#8217;interface est autoris\u00e9 depuis ton IP et celle de personne d&#8217;autre, y compris pendant la fen\u00eatre de cr\u00e9ation de l&#8217;administrateur initial. La r\u00e8gle telle qu&#8217;\u00e9crite ne couvre que l&#8217;IPv4. La documentation d&#8217;ufw-docker indique que l&#8217;outil prend aussi en charge les r\u00e9seaux IPv6 et met \u00e0 jour <strong>\/etc\/ufw\/after6.rules<\/strong> si n\u00e9cessaire, mais ne le crois pas sur parole : si ton VPS r\u00e9pond sur une adresse IPv6 publique, effectue aussi le test depuis l&#8217;ext\u00e9rieur de la section pare-feu en IPv6 avant de t&#8217;y fier. La contrepartie : la plupart des connexions domestiques changent d&#8217;IP de temps en temps, donc tu devras peut-\u00eatre mettre \u00e0 jour la r\u00e8gle plus tard. Si cela t&#8217;agace, la solution la plus propre \u00e0 long terme est un VPN devant l&#8217;interface (abord\u00e9 dans la section sur la s\u00e9curisation).<\/p>\n\n\n\n<h3 id=\"h-5-create-a-persistent-volume-for-portainer-s-data\" class=\"wp-block-heading\">5. Cr\u00e9e un volume persistant pour les donn\u00e9es de Portainer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, ex\u00e9cute <strong><code>sudo docker volume create portainer_data<\/code><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Garder la base de donn\u00e9es de Portainer sur un volume Docker (et non \u00e0 l&#8217;int\u00e9rieur du conteneur) signifie qu&#8217;une mise \u00e0 niveau de Portainer n&#8217;effacera pas ta configuration.<\/p>\n\n\n\n<h3 id=\"h-6-run-portainer-community-edition\" class=\"wp-block-heading\">6. Ex\u00e9cute Portainer Community Edition<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Voici la commande du <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/start\/install-ce\/server\/docker\/linux\">document d&#8217;installation de Portainer pour Linux<\/a>, \u00e0 un drapeau pr\u00e8s : la version officielle publie aussi le port 8000, un tunnel TCP n\u00e9cessaire uniquement si tu connectes plus tard des environnements distants via des Edge Agents. Une installation \u00e0 un seul h\u00f4te n&#8217;en a pas besoin, nous l&#8217;omettons donc :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo docker run -d \\\n  -p 9443:9443 \\\n  --name portainer \\\n  --restart=always \\\n  -v \/var\/run\/docker.sock:\/var\/run\/docker.sock \\\n  -v portainer_data:\/data \\\n  portainer\/portainer-ce:lts<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e9cortiquons cela ligne par ligne :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>-d<\/code> <\/strong>l&#8217;ex\u00e9cute en mode d\u00e9tach\u00e9.<\/li>\n\n\n\n<li><strong><code>-p 9443:9443<\/code><\/strong> est l&#8217;interface web de Portainer en HTTPS, le port que tu as autoris\u00e9 pour ton IP \u00e0 l&#8217;\u00e9tape 4.<\/li>\n\n\n\n<li><strong><code>--restart=always<\/code><\/strong> relance Portainer apr\u00e8s un red\u00e9marrage.<\/li>\n\n\n\n<li><strong><code>-v<\/code><\/strong> : ces drapeaux correspondent \u00e0 la liaison du socket et au volume persistant de l&#8217;\u00e9tape 5.<\/li>\n\n\n\n<li><strong><code>:lts<\/code><\/strong> t&#8217;attache \u00e0 la branche de versions \u00e0 support long terme (Long Term Support) de Portainer, le tag qu&#8217;utilise la documentation d&#8217;installation de Portainer.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"h-7-open-the-ui-and-create-your-admin-account\" class=\"wp-block-heading\">7. Ouvre l&#8217;interface et cr\u00e9e ton compte administrateur<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Oriente ton navigateur vers<strong> https:\/\/YOUR_VPS_IP:9443<\/strong> (depuis l&#8217;adresse IP que tu as autoris\u00e9e \u00e0 l&#8217;\u00e9tape 4).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Passe outre l&#8217;avertissement du certificat auto-sign\u00e9. Tu arriveras sur l&#8217;\u00e9cran de \u00ab cr\u00e9ation de l&#8217;utilisateur administrateur initial \u00bb. Choisis un nom d&#8217;utilisateur qui n&#8217;est pas admin, d\u00e9finis un mot de passe fort et conserve-le en lieu s\u00fbr. Et\u2026 tu es dedans !<\/p>\n\n\n\n<h2 id=\"h-why-did-portainer-just-time-out-on-me\" class=\"wp-block-heading\">Pourquoi Portainer A-t-il Expir\u00e9 Juste Sous Mes Yeux ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Parce que Portainer attend exactement cinq minutes que quelqu&#8217;un le r\u00e9clame lors de la premi\u00e8re installation. Si personne ne le fait, il verrouille la porte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mot pour mot, extrait de la <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/faqs\/installing\/i-just-installed-portainer-but-i-cant-access-the-ui-how-do-i-fix-this\">FAQ de Portainer<\/a> :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00ab <em>Par mesure de s\u00e9curit\u00e9, lors de la premi\u00e8re installation de Portainer, celui-ci attend 5 minutes la cr\u00e9ation d&#8217;un utilisateur administrateur (dans le cadre de la configuration initiale). Si aucun utilisateur n&#8217;est cr\u00e9\u00e9 pendant ces 5 minutes, le serveur Portainer cesse d&#8217;\u00e9couter les requ\u00eates.<\/em> \u00bb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Traduction : si tu as pass\u00e9 l&#8217;\u00e9tape 6 \u00e0 te pr\u00e9parer un sandwich, ton installation refuse maintenant de te parler, et tu n&#8217;as rien fait de mal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La solution est simple. Ex\u00e9cute <strong><code>sudo docker restart portainer<\/code><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cela relance le conteneur, te donne une nouvelle fen\u00eatre de cinq minutes et te d\u00e9pose sur l&#8217;\u00e9cran de cr\u00e9ation de l&#8217;administrateur. R\u00e9p\u00e8te autant que n\u00e9cessaire. Bienvenue dans l&#8217;<a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/self-hosting\/\">auto-h\u00e9bergement<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tu scriptes l&#8217;installation pour une flotte (Ansible, Terraform, un pipeline de d\u00e9ploiement), Portainer accepte un drapeau <strong><code>--admin-password-file<\/code><\/strong> qui cr\u00e9e l&#8217;utilisateur admin \u00e0 partir d&#8217;un fichier au premier d\u00e9marrage du conteneur : il n&#8217;y a donc pas d&#8217;\u00e9cran de cr\u00e9ation d&#8217;administrateur contre lequel lutter. La <a href=\"https:\/\/docs.portainer.io\/advanced\/cli\" target=\"_blank\">documentation de configuration CLI<\/a> de Portainer couvre la syntaxe. Pour une installation VPS ponctuelle, l&#8217;astuce du red\u00e9marrage suffit.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-stop-docker-from-bypassing-your-firewall\" class=\"wp-block-heading\">Comment Emp\u00eacher Docker De Contourner Ton Pare-feu ?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1229\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall.webp\" alt=\"Comparaison du pare-feu Docker : sans r\u00e8gle DOCKER-USER, l'acc\u00e8s aux conteneurs n'est pas restreint\" class=\"wp-image-82013 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-300x230.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-1024x787.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-768x590.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-1536x1180.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-600x461.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-1200x922.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-730x561.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-1460x1121.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-784x602.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-1568x1204.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/04-Docker-Firewall-877x674.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1229;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Tu l&#8217;as d\u00e9j\u00e0 fait, \u00e0 l&#8217;\u00e9tape 4. Voici ce qui s&#8217;est r\u00e9ellement pass\u00e9, comment ouvrir des ports volontairement et comment prouver que cela a fonctionn\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le probl\u00e8me : lorsque tu publies le port d&#8217;un conteneur avec <strong><code>-p 80:80<\/code><\/strong>, ce port est accessible depuis l&#8217;internet public m\u00eame si <strong>ufw status <\/strong>indique que le port 80 est refus\u00e9. Selon la <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/network\/packet-filtering-firewalls\/\">documentation de filtrage de paquets de Docker<\/a>, \u00ab Docker achemine le trafic des conteneurs dans la table nat, ce qui signifie que les paquets sont d\u00e9vi\u00e9s avant d&#8217;atteindre les cha\u00eenes INPUT et OUTPUT qu&#8217;utilise ufw. \u00bb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">UFW n&#8217;est pas cass\u00e9. Il se trouve simplement dans le mauvais couloir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La solution que Docker lui-m\u00eame recommande est la <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/network\/firewall-iptables\/\">cha\u00eene iptables <strong>DOCKER-USER<\/strong><\/a>, une cha\u00eene que Docker cr\u00e9e sp\u00e9cifiquement pour les r\u00e8gles d\u00e9finies par l&#8217;utilisateur et qui est trait\u00e9e avant les r\u00e8gles des cha\u00eenes propres \u00e0 Docker. Le script <strong>ufw-docker<\/strong> que tu as install\u00e9 \u00e0 l&#8217;\u00e9tape 4 int\u00e8gre UFW \u00e0 cette cha\u00eene en ajoutant un bloc de r\u00e8gles (entre les marqueurs <strong># BEGIN UFW AND DOCKER<\/strong> et <strong># END UFW AND DOCKER<\/strong>) \u00e0 <strong>\/etc\/ufw\/after.rules<\/strong>, pour qu&#8217;il se charge avec le reste de ta configuration UFW.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pour ouvrir volontairement un port de conteneur au public<\/strong>, par exemple une application web sur le port 80 du conteneur, utilise une r\u00e8gle route :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw route allow proto tcp from any to any port 80<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Un pi\u00e8ge signal\u00e9 par la documentation d&#8217;ufw-docker : la r\u00e8gle prend le port du <em>conteneur<\/em>, pas celui de l&#8217;h\u00f4te. Si tu as publi\u00e9 avec <strong><code>-p 8080:80<\/code><\/strong>, c&#8217;est la r\u00e8gle ci-dessus (port 80) qui est la bonne, pas le port 8080.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pour v\u00e9rifier depuis l&#8217;ext\u00e9rieur<\/strong>, teste depuis un r\u00e9seau qui ne figure pas dans ta liste d&#8217;autorisation ; un partage de connexion depuis ton t\u00e9l\u00e9phone fait l&#8217;affaire. Cette commande devrait expirer au lieu de renvoyer la page de connexion de Portainer :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -k --max-time 5 https:\/\/YOUR_VPS_IP:9443\n\n# For IPv6, enclose the address in square brackets:\ncurl -k --max-time 5 'https:\/\/[YOUR_VPS_IPV6]:9443'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ex\u00e9cute la m\u00eame commande depuis l&#8217;IP que tu as autoris\u00e9e \u00e0 l&#8217;\u00e9tape 4 et tu devrais recevoir du HTML en retour. Qu&#8217;UFW affiche \u00ab denied \u00bb est une affirmation ; un d\u00e9lai d&#8217;expiration depuis un r\u00e9seau inconnu est une preuve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pour tout annuler<\/strong>, ex\u00e9cute <strong><code>sudo ufw-docker uninstall<\/code><\/strong>, qui selon la documentation du projet restaure ta configuration UFW et supprime les fichiers install\u00e9s, puis <strong><code>sudo ufw reload<\/code><\/strong>. Tu peux aussi supprimer \u00e0 la main le bloc entre les marqueurs <strong># BEGIN UFW AND DOCKER<\/strong> et <strong># END UFW AND DOCKER<\/strong> dans <strong>\/etc\/ufw\/after.rules<\/strong> puis recharger UFW.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Celle-ci pi\u00e8ge des ing\u00e9nieurs chevronn\u00e9s aussi bien sur leurs machines personnelles que sur des serveurs de production : UFW dit une chose, l&#8217;internet public en dit une autre, et la v\u00e9rit\u00e9 se trouve dans iptables. Si tu pr\u00e9f\u00e8res que Portainer n&#8217;ait jamais de port public du tout, <a target=\"_blank\" href=\"https:\/\/www.portainer.io\/how-to\/how-to-secure-your-portainer-installation\">place-le derri\u00e8re un tunnel VPN<\/a> comme WireGuard.<\/p>\n\n\n\n<h2 id=\"h-what-should-you-lock-down-right-after-the-first-login\" class=\"wp-block-heading\">Que Devrais-Tu S\u00e9curiser Juste Apr\u00e8s La Premi\u00e8re Connexion ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tu es dedans. Cinq choses \u00e0 faire avant de fermer cet onglet de navigateur ; les quatre premi\u00e8res viennent directement du <a target=\"_blank\" href=\"https:\/\/www.portainer.io\/how-to\/how-to-secure-your-portainer-installation\">guide de s\u00e9curit\u00e9<\/a> de Portainer :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Active Force HTTPS only.<\/strong> L&#8217;installation de ce guide ne publie que le port 9443, donc aucun port HTTP n&#8217;est expos\u00e9 au d\u00e9part. Activer l&#8217;option <em>Force HTTPS only<\/em> sous <em>Settings \u2192 SSL Certificate<\/em> verrouille ce choix : selon la <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/admin\/settings\/general\">documentation des param\u00e8tres de Portainer<\/a>, elle d\u00e9sactive enti\u00e8rement l&#8217;\u00e9coute sur l&#8217;ancien port HTTP (9000), si bien qu&#8217;un futur red\u00e9ploiement qui ajouterait <strong><code>-p 9000:9000<\/code><\/strong> ne peut pas rouvrir un chemin non chiffr\u00e9.<\/li>\n\n\n\n<li><strong>Remplace le certificat auto-sign\u00e9.<\/strong> T\u00e9l\u00e9verse un certificat que tu as g\u00e9n\u00e9r\u00e9, ou place Portainer derri\u00e8re un proxy inverse NGINX avec un certificat Let&#8217;s Encrypt. Apr\u00e8s le premier jour, cliquer \u00e0 travers l&#8217;avertissement du navigateur \u00e0 chaque fois est une habitude que tu regretteras.<\/li>\n\n\n\n<li><strong>Utilise un vrai nom d&#8217;utilisateur admin.<\/strong> Utiliser le nom d&#8217;utilisateur admin par d\u00e9faut laisse \u00e0 un attaquant un identifiant de moins \u00e0 deviner. Choisis quelque chose de sp\u00e9cifique pour toi.<\/li>\n\n\n\n<li><strong>Restreins l&#8217;interface \u00e0 un VPN.<\/strong> Faire tourner Portainer derri\u00e8re un VPN WireGuard est le mod\u00e8le que recommande le guide de s\u00e9curit\u00e9 de Portainer. Un 9443 restreint \u00e0 ton IP source (\u00e9tape 4), c&#8217;est bien. Un 9443 accessible uniquement sur un r\u00e9seau priv\u00e9, c&#8217;est mieux.<\/li>\n\n\n\n<li><strong>Audite la liaison du socket Docker.<\/strong> Tout ce qui a acc\u00e8s \u00e0 <strong><code>\/var\/run\/docker.sock<\/code><\/strong> contr\u00f4le le d\u00e9mon Docker et, \u00e0 travers lui, l&#8217;h\u00f4te. <em>Ne monte pas<\/em> le socket \u00e0 la l\u00e9g\u00e8re dans d&#8217;autres conteneurs. Chaque liaison suppl\u00e9mentaire est un nouveau chemin vers l&#8217;h\u00f4te. Si un conteneur pr\u00e9tend avoir besoin du socket, demande pourquoi, et envisage un proxy de socket si la r\u00e9ponse est \u00ab pour la surveillance \u00bb.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"h-how-do-you-actually-use-portainer-day-to-day\" class=\"wp-block-heading\">Comment Utiliser R\u00e9ellement Portainer Au Quotidien ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La r\u00e9compense pour l&#8217;installation de Portainer est le jour o\u00f9 tu arr\u00eates de te connecter en SSH pour red\u00e9marrer un conteneur qui fonctionne mal, et o\u00f9 tu commences \u00e0 cliquer sur un bouton \u00e0 la place. La plus grande r\u00e9compense est la gestion des piles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une pile Portainer est une application multi-conteneurs d\u00e9finie par un fichier Docker Compose. Portainer peut d\u00e9ployer les configurations Docker Compose prises en charge sous forme de piles par quatre voies r\u00e9pertori\u00e9es dans la <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/user\/docker\/stacks\/add\">documentation officielle des piles<\/a> :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Colle le Compose dans l&#8217;\u00e9diteur web<\/li>\n\n\n\n<li>T\u00e9l\u00e9verse un fichier Compose<\/li>\n\n\n\n<li>Oriente Portainer vers un d\u00e9p\u00f4t Git<\/li>\n\n\n\n<li>D\u00e9ploie \u00e0 partir d&#8217;un mod\u00e8le personnalis\u00e9<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"2560\" height=\"1181\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/05-How-Do-You-Actually-Use-Portainer-Day-to-Day_-scaled.gif\" alt=\"Tableau de bord Portainer.io affichant les d\u00e9tails de la pile avec le tableau des conteneurs, les logs et les statistiques\" class=\"wp-image-82014 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/1181;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Le chemin Git est celui qui compte. Tu diriges Portainer vers un d\u00e9p\u00f4t public ou authentifi\u00e9 et un chemin vers <strong>docker-compose.yml<\/strong>, puis tu actives les mises \u00e0 jour GitOps. Soit Portainer interroge le d\u00e9p\u00f4t selon un intervalle de r\u00e9cup\u00e9ration que tu d\u00e9finis, soit il te fournit une URL de webhook \u00e0 ajouter \u00e0 ton h\u00e9bergeur Git (d\u00e9clench\u00e9e depuis une GitHub Action, par exemple). Lorsque le fichier Compose change en amont, Portainer le r\u00e9cup\u00e8re et red\u00e9ploie automatiquement. Et oui, cela fonctionne dans Community Edition : sur la page de documentation des piles, seule l&#8217;option des volumes \u00e0 chemin relatif porte la mention Business Edition.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C&#8217;est la version auto-h\u00e9berg\u00e9e du \u00ab d\u00e9ploiement au push \u00bb sans payer une PaaS pour ce privil\u00e8ge.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les petites victoires quotidiennes s&#8217;accumulent \u00e9galement. Pense \u00e0 des logs dans un panneau au lieu de les suivre en ligne de commande, \u00e0 des red\u00e9marrages en un clic, \u00e0 la reconstruction d&#8217;une pile \u00e0 partir d&#8217;un bouton et \u00e0 des graphiques de ressources que tu peux parcourir en trois secondes au lieu d&#8217;ex\u00e9cuter Docker stats.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tu ajoutes plus tard des h\u00f4tes distants via des Edge Agents, le port 8000 revient en jeu : la <a href=\"#h-can-portainer-manage-multiple-docker-hosts\">FAQ ci-dessous<\/a> couvre le red\u00e9ploiement et la r\u00e8gle de pare-feu.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-back-up-portainer-and-your-containers\" class=\"wp-block-heading\">Comment Sauvegarder Portainer Et Tes Conteneurs ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un volume assure la persistance, pas la sauvegarde. Le volume <strong>portainer_data<\/strong> de l&#8217;\u00e9tape 5 survit aux mises \u00e0 niveau du conteneur, mais il se trouve sur le m\u00eame disque que tout le reste : un vrai plan de sauvegarde comporte donc trois parties, et toutes trois quittent le VPS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. La configuration propre de Portainer.<\/strong> Dans l&#8217;interface, va dans <em>Settings \u2192 Back up Portainer<\/em>, garde l&#8217;option par d\u00e9faut <em>Download backup file<\/em>, puis clique sur <em>Download backup<\/em>. Selon la <a target=\"_blank\" href=\"https:\/\/docs.portainer.io\/admin\/settings\/general\">documentation des param\u00e8tres de Portainer<\/a>, cela t\u00e9l\u00e9charge un tar.gz de tout ce que Portainer stocke sur son volume \/data, \u00e9ventuellement chiffr\u00e9 par mot de passe, et cette archive est tout ce dont tu as besoin pour restaurer Portainer. La documentation est tout aussi claire sur la port\u00e9e : elle sauvegarde <em>uniquement<\/em> la configuration de Portainer, pas les conteneurs, piles ou volumes que tu as d\u00e9ploy\u00e9s. (Les sauvegardes planifi\u00e9es vers S3 existent, mais uniquement dans Business Edition ; avec CE, ajoute un rappel r\u00e9current dans ton agenda.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Les donn\u00e9es de tes applications.<\/strong> La <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/storage\/volumes\/\">documentation des volumes de Docker<\/a> pr\u00e9sente les volumes nomm\u00e9s comme la m\u00e9thode privil\u00e9gi\u00e9e pour conserver les donn\u00e9es des conteneurs, plus faciles \u00e0 sauvegarder ou \u00e0 migrer que les montages bind. Un montage en lecture seule emp\u00eache seulement le conteneur de <em>sauvegarde<\/em> d&#8217;\u00e9crire : l&#8217;application elle-m\u00eame peut encore \u00e9crire dans le volume pendant l&#8217;archivage et te livrer une copie incoh\u00e9rente. Arr\u00eate donc d&#8217;abord le conteneur de l&#8217;application (<strong><code>sudo docker stop myapp<\/code><\/strong>), ou utilise le m\u00e9canisme de sauvegarde pris en charge par l&#8217;application. Monte ensuite le volume en lecture seule dans un conteneur jetable, archive-le avec tar, puis red\u00e9marre l&#8217;application (remplace par tes propres noms) :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo docker run --rm \\\n  -v myapp_data:\/source:ro \\\n  -v \"$PWD\":\/backup \\\n  alpine tar czf \/backup\/myapp_data.tgz -C \/source .<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pour les bases de donn\u00e9es, privil\u00e9gie l&#8217;outil de dump propre \u00e0 la base (pg_dump, mysqldump) plut\u00f4t que de copier les fichiers de donn\u00e9es actifs, pour ne pas archiver un fichier en cours d&#8217;\u00e9criture. Envoie ensuite les archives hors de la machine de fa\u00e7on planifi\u00e9e : rsync ou scp vers une autre machine, ou envoi vers un stockage objet. Une sauvegarde qui r\u00e9side sur le disque qu&#8217;elle sauvegarde dispara\u00eet avec ce disque.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Tes fichiers Compose et tes secrets.<\/strong> Si tu d\u00e9ploies des piles depuis Git, les fichiers Compose sont d\u00e9j\u00e0 hors de l&#8217;h\u00f4te. Ce que Git ne contient <em>pas<\/em>, c&#8217;est tout ce que tu n&#8217;as jamais commit\u00e9 : fichiers .env, cl\u00e9s API et mots de passe fournis au moment du d\u00e9ploiement. Les r\u00e9pertoires mont\u00e9s en bind se trouvent aussi en dehors de la sauvegarde de volume ci-dessus. Recense-les s\u00e9par\u00e9ment et sauvegarde-les chiffr\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ensuite, teste la restauration avant d&#8217;en avoir besoin.<\/strong> La documentation de Portainer indique qu&#8217;une restauration de configuration ne fonctionne que sur une nouvelle instance : d\u00e9ploie un nouveau conteneur Portainer avec un volume de donn\u00e9es vide (un VPS jetable ou ton ordinateur portable conviennent), choisis <em>Restore Portainer from backup<\/em> pendant la configuration initiale, et v\u00e9rifie que tu peux te connecter avec tes anciens identifiants et voir tes d\u00e9finitions de piles. Cet exercice ne couvre que la partie 1, la configuration de Portainer. Les parties 2 et 3 n\u00e9cessitent leur propre test, application par application : restaure une archive dans un nouveau volume, d\u00e9marre l&#8217;application dessus et v\u00e9rifie que les donn\u00e9es sont bien l\u00e0. Une sauvegarde non test\u00e9e n&#8217;est qu&#8217;un espoir avec un nom de fichier.<\/p>\n\n\n\n<h2 id=\"h-what-does-portainer-cost-and-when-does-free-stop-being-free\" class=\"wp-block-heading\">Combien Co\u00fbte Portainer ? (Et Quand Le Gratuit Cesse-t-il D&#8217;\u00eatre Gratuit ?)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer est doublement gratuit. Community Edition est gratuit et <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/open-source-vs-proprietary\/\">open source<\/a> (licence zlib), sans cl\u00e9 de licence requise. Et Portainer Business Edition est <a target=\"_blank\" href=\"https:\/\/www.portainer.io\/take-3\">gratuit pour toujours jusqu&#8217;\u00e0 3 n\u0153uds<\/a> : toutes les fonctionnalit\u00e9s Business, sans limite de dur\u00e9e, sans carte bancaire. Tu t&#8217;inscris pour obtenir une cl\u00e9 de licence gratuite au lieu de payer.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u00c9dition<\/strong><\/th><th><strong>Co\u00fbt<\/strong><\/th><th><strong>N\u0153uds<\/strong><\/th><th><strong>Id\u00e9al pour<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Community Edition<\/td><td>Gratuite, open source<\/td><td>Aucune licence par n\u0153ud<\/td><td>Projets personnels, homelab, auto-h\u00e9bergement sur un seul VPS<\/td><\/tr><tr><td>Business Edition \u2014 3 n\u0153uds gratuits<\/td><td>Gratuite, sans limite de dur\u00e9e<\/td><td>Jusqu&#8217;\u00e0 3<\/td><td>Petits homelabs qui veulent des fonctionnalit\u00e9s Business comme le RBAC<\/td><\/tr><tr><td>Home &amp; Student<\/td><td>155 $\/an<\/td><td>Jusqu&#8217;\u00e0 15<\/td><td>Homelabs plus grands et \u00e9tudiants ; strictement non commercial<\/td><\/tr><tr><td>Business Starter<\/td><td>\u00c0 partir de 105 $\/mois<\/td><td>5, 10 ou 15<\/td><td>Petites \u00e9quipes g\u00e9rant une infrastructure r\u00e9elle (support communautaire)<\/td><\/tr><tr><td>Business Scale<\/td><td>\u00c0 partir de 209 $\/mois<\/td><td>De 5 \u00e0 35<\/td><td>\u00c9quipes en croissance n\u00e9cessitant un support 9&#215;5<\/td><\/tr><tr><td>Enterprise<\/td><td>Sur devis<\/td><td>Sur mesure<\/td><td>Besoins de conformit\u00e9 et de support prioritaire<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Les prix proviennent de la <a target=\"_blank\" href=\"https:\/\/www.portainer.io\/pricing\">page de tarification de Portainer<\/a> en date d&#8217;ao\u00fbt 2026 ; Starter et Scale n\u00e9cessitent un engagement annuel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alors, laquelle choisir ? Pour un seul VPS avec un seul administrateur, <strong>Community Edition<\/strong> : elle est open source, ne n\u00e9cessite aucune inscription et fait tout ce qui est d\u00e9crit dans ce guide, d\u00e9ploiements Git compris. Si tu veux le contr\u00f4le d&#8217;acc\u00e8s bas\u00e9 sur les r\u00f4les (RBAC) pour un deuxi\u00e8me utilisateur, ou si tu g\u00e8res d\u00e9j\u00e0 deux ou trois machines, prends plut\u00f4t l&#8217;offre Business gratuite \u00e0 3 n\u0153uds : c&#8217;est le m\u00eame logiciel avec les fonctionnalit\u00e9s Business d\u00e9bloqu\u00e9es, gratuit tant que tu restes \u00e0 trois n\u0153uds ou moins. Les plans payants n&#8217;ont de sens que lorsque tu g\u00e8res de r\u00e9els nombres de n\u0153uds au sein d&#8217;une \u00e9quipe, et v\u00e9rifie la ligne consacr\u00e9e au support avant de supposer que payant signifie assist\u00e9 : en date d&#8217;ao\u00fbt 2026, la page de tarification de Portainer indique un support communautaire pour le plan Starter, un support 9&#215;5 le jour ouvr\u00e9 suivant \u00e0 partir du plan Scale, et un support prioritaire pour Enterprise.<\/p>\n\n\n\n<h2 id=\"h-should-you-add-portainer-or-skip-it\" class=\"wp-block-heading\">Devrais-Tu Ajouter Portainer Ou T&#8217;en Passer ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Voici la r\u00e9ponse honn\u00eate en deux phrases :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2705 Si tu pr\u00e9vois de partager ce serveur, de d\u00e9ployer depuis Git, ou d&#8217;ex\u00e9cuter plus de trois conteneurs dans l&#8217;ann\u00e9e \u00e0 venir, installe Portainer pendant que l&#8217;h\u00f4te est neuf et que tes habitudes commencent \u00e0 se former autour de lui.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u274c Si tu fais fonctionner une application silencieuse et que tu es \u00e0 l&#8217;aise dans le terminal, l&#8217;interface utilisateur que tu n&#8217;as pas install\u00e9e ne te manquera pas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La vraie question n&#8217;est pas Portainer ou non Portainer. C&#8217;est plut\u00f4t de savoir si l&#8217;auto-h\u00e9bergement est la bonne d\u00e9cision pour toi, et tu y as r\u00e9pondu en ouvrant cet onglet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un VPS de 4 Go, Docker et Portainer CE suffisent pour commencer \u00e0 s&#8217;auto-h\u00e9berger pour de vrai : choisis tes applications, additionne leurs besoins document\u00e9s, et laisse la feuille de calcul, pas la liste de souhaits, d\u00e9cider quand la machine doit grandir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce n&#8217;est pas une mauvaise affaire.<\/p>\n\n\n\n<h2 id=\"h-frequently-asked-questions-about-docker-and-portainer\" class=\"wp-block-heading\">Questions Fr\u00e9quemment Pos\u00e9es Sur Docker Et Portainer<\/h2>\n\n\n\n<h3 id=\"h-can-you-run-docker-on-a-vps\" class=\"wp-block-heading\">Peut-on ex\u00e9cuter Docker sur un VPS ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Oui. Un VPS avec acc\u00e8s root est l&#8217;un des endroits les plus flexibles pour ex\u00e9cuter Docker : tu installes Docker Engine sur le syst\u00e8me d&#8217;exploitation Linux du serveur, et chaque application tourne dans son propre conteneur. La distinction qui fait souvent tr\u00e9bucher, c&#8217;est que le VPS est le serveur virtuel lou\u00e9, tandis que Docker est le logiciel que tu ex\u00e9cutes dessus pour isoler les applications dans des conteneurs. N&#8217;importe quel VPS avec acc\u00e8s root et assez de RAM pour tes conteneurs fait l&#8217;affaire ; <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/fr\/hosting\/vps\/docker\/\">DreamHost VPS Hosting<\/a> propose m\u00eame une image Docker + Portainer pr\u00e9install\u00e9e.<\/p>\n\n\n\n<h3 id=\"h-what-is-portainer-used-for\" class=\"wp-block-heading\">\u00c0 quoi sert Portainer ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer est utilis\u00e9 pour g\u00e9rer les conteneurs Docker, Docker Swarm et Kubernetes via une interface web. Il fonctionne lui-m\u00eame comme un conteneur Docker, se connecte au socket Docker de l&#8217;h\u00f4te et te donne une vue dans le navigateur et une surface de contr\u00f4le sur tous les autres conteneurs de l&#8217;h\u00f4te : d\u00e9marrer et arr\u00eater des conteneurs, d\u00e9ployer des piles multi-conteneurs, consulter les logs et g\u00e9rer l&#8217;acc\u00e8s des utilisateurs sans avoir \u00e0 te connecter en SSH.<\/p>\n\n\n\n<h3 id=\"h-do-i-need-portainer-if-i-have-docker\" class=\"wp-block-heading\">Ai-je besoin de Portainer si j&#8217;ai Docker ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Non, tu n&#8217;as pas besoin de Portainer pour utiliser Docker. Docker fonctionne enti\u00e8rement depuis le terminal, et de nombreux auto-h\u00e9bergeurs n&#8217;installent jamais d&#8217;interface utilisateur par-dessus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer prouve son utilit\u00e9 lorsque tu jongles avec plus de deux ou trois conteneurs, partages l&#8217;acc\u00e8s avec quelqu&#8217;un qui ne vit pas dans un terminal ou d\u00e9ploies des mises \u00e0 jour de piles \u00e0 partir d&#8217;un d\u00e9p\u00f4t Git. Passe-t&#8217;en si tu g\u00e8res un ou deux conteneurs stables et que tu es \u00e0 l&#8217;aise avec Docker Compose.<\/p>\n\n\n\n<h3 id=\"h-what-port-does-portainer-run-on\" class=\"wp-block-heading\">Sur quel port fonctionne Portainer ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Portainer sert son interface web en HTTPS sur le port 9443 par d\u00e9faut. La commande d&#8217;installation officielle du <a href=\"https:\/\/docs.portainer.io\/start\/install-ce\/server\/docker\/linux\" target=\"_blank\">document d&#8217;installation de Portainer pour Linux<\/a> publie aussi le port 8000, un tunnel TCP utilis\u00e9 uniquement par les Edge Agents lorsque tu connectes plus tard des h\u00f4tes Docker distants ; il est facultatif, c&#8217;est pourquoi l&#8217;installation \u00e0 un seul h\u00f4te de ce guide supprime enti\u00e8rement le drapeau <strong><code>-p 8000:8000<\/code><\/strong>.<\/p>\n\n\n\n<h3 id=\"h-how-much-ram-does-portainer-need\" class=\"wp-block-heading\">Quelle quantit\u00e9 de RAM Portainer n\u00e9cessite-t-il ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La configuration requise actuelle de Portainer ne publie aucun minimum de RAM : le serveur fonctionne comme un conteneur l\u00e9ger, et les recommandations de performance de la documentation portent sur le disque, pas sur la m\u00e9moire. Dimensionne ta RAM en additionnant les besoins document\u00e9s du syst\u00e8me d&#8217;exploitation, du d\u00e9mon Docker et de chaque application que tu vas ex\u00e9cuter, puis garde de la marge pour les pics.<br><br>Chez DreamHost, notre plan <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/fr\/hosting\/vps\/\">VPS Hosting<\/a> d&#8217;entr\u00e9e de gamme, Stack 4, est fourni avec 4 Go de RAM, un point de d\u00e9part pour une petite pile de conteneurs de projets annexes comme <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/ghost-self-hosted\/\">Ghost<\/a> ou <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/n8n-self-hosted\/\">n8n<\/a>. Que 4 Go suffisent ou non d\u00e9pend des applications que tu ex\u00e9cutes r\u00e9ellement ; si le calcul le d\u00e9passe, tu peux passer \u00e0 un plan Stack plus grand.<\/p>\n\n\n\n<h3 id=\"h-is-portainer-free\" class=\"wp-block-heading\">Portainer est-il gratuit ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Oui, et m\u00eame doublement. Portainer Community Edition est gratuit et <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/open-source-vs-proprietary\/\">open-source<\/a>, sans cl\u00e9 de licence requise. Portainer Business Edition (qui ajoute des fonctionnalit\u00e9s comme le contr\u00f4le d&#8217;acc\u00e8s bas\u00e9 sur les r\u00f4les) est aussi gratuit jusqu&#8217;\u00e0 3 n\u0153uds, avec toutes les fonctionnalit\u00e9s et sans limite de dur\u00e9e ; tu t&#8217;inscris pour obtenir une cl\u00e9 de licence gratuite au lieu de payer. Au-del\u00e0 de trois n\u0153uds, le tarif Business commence \u00e0 105 $\/mois avec le plan Starter selon la <a target=\"_blank\" href=\"https:\/\/www.portainer.io\/pricing\">page de tarification de Portainer<\/a> (en date d&#8217;ao\u00fbt 2026), et une licence Home &amp; Student \u00e0 155 $\/an couvre les homelabs non commerciaux jusqu&#8217;\u00e0 15 n\u0153uds.<\/p>\n\n\n\n<h3 id=\"h-can-portainer-manage-multiple-docker-hosts\" class=\"wp-block-heading\">Portainer peut-il g\u00e9rer plusieurs h\u00f4tes Docker ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Oui, Portainer g\u00e8re plusieurs h\u00f4tes Docker gr\u00e2ce aux Agents et aux Edge Agents. L&#8217;Agent standard \u00e9coute sur le port 9001 de chaque h\u00f4te distant ; les Edge Agents, eux, se connectent en sortie au port de tunnel 8000 du serveur Portainer et, selon la documentation de configuration requise de Portainer, n&#8217;ont besoin d&#8217;aucun port entrant ouvert de leur c\u00f4t\u00e9. Pour un auto-h\u00e9bergeur sur un seul VPS, rien de tout cela n&#8217;est n\u00e9cessaire, c&#8217;est pourquoi l&#8217;installation de ce guide supprime le drapeau du port 8000 que contient la commande officielle de Portainer. Le jour o\u00f9 tu connectes un environnement distant via un Edge Agent, red\u00e9ploie Portainer en ajoutant <strong><code>-p 8000:8000<\/code><\/strong>, puis autorise le port 8000 du conteneur dans UFW depuis l&#8217;IP publique sortante de chaque Edge Agent, en rempla\u00e7ant <strong><code>EDGE_AGENT_IP<\/code><\/strong> ici : <strong><code>sudo ufw route allow proto tcp from EDGE_AGENT_IP to any port 8000<\/code><\/strong>.<\/p>\n\n\n\n<h3 id=\"h-does-docker-bypass-ufw-on-a-vps\" class=\"wp-block-heading\">Docker contourne-t-il UFW sur un VPS ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Oui, Docker contourne UFW par d\u00e9faut car Docker g\u00e8re le trafic des conteneurs au niveau de la couche NAT iptables, qui se trouve devant les cha\u00eenes INPUT et OUTPUT de UFW.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Selon la <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/network\/packet-filtering-firewalls\/\">documentation de filtrage de paquets de Docker<\/a>, \u00ab les paquets sont d\u00e9vi\u00e9s avant d&#8217;atteindre les cha\u00eenes INPUT et OUTPUT qu&#8217;utilise ufw \u00bb. La solution consiste \u00e0 ajouter tes r\u00e8gles \u00e0 la <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/network\/firewall-iptables\/\">cha\u00eene iptables <strong>DOCKER-USER<\/strong><\/a>, et un outil communautaire pour y int\u00e9grer UFW est <a target=\"_blank\" href=\"https:\/\/github.com\/chaifeng\/ufw-docker\">chaifeng\/ufw-docker<\/a>, install\u00e9 avant m\u00eame le d\u00e9marrage de Portainer, \u00e0 l&#8217;\u00e9tape 4 de ce guide.<\/p>\n\n\n\n\n\n\n\n\n\n<div class=\"article-cta-shared article-cta-small article-cta--product\">\n\t<div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/cta_image_a-877x522.webp 1x, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/cta_image_a.webp 2x\"  \/><\/div>\n\n\t<a href='https:\/\/www.dreamhost.com\/hosting\/vps\/' class='link-top' target='_blank' rel='noopener noreferrer'>\n\t\t<span>VPS<\/span>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\" width=\"15\"><path d=\"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\/><\/svg>\n\t<\/a>\n\n\t<div class=\"content-btm\">\n\t\t<h2 class=\"h2--md\">\n\t\t\tOwn Your Entire Stack. Apps, AI, Databases, and More.\n\t\t<\/h2>\n\t\t<p class=\"p--md\">\n\t\t\tKeep every credential and conversation on a server you control, with NVMe speed and unmetered bandwidth built in.\n\t\t<\/p>\n\n\t\t        <a\n            href=\"https:\/\/www.dreamhost.com\/hosting\/vps\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Explore VPS Hosting Plans                    <\/a>\n\n\t<\/div>\n<\/div>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Peut-on ex\u00e9cuter Docker sur un VPS ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oui. Un VPS avec acc\u00e8s root est l'un des endroits les plus flexibles pour ex\u00e9cuter Docker : tu installes Docker Engine sur le syst\u00e8me d'exploitation Linux du serveur, et chaque application tourne dans son propre conteneur. Le VPS est le serveur virtuel lou\u00e9 ; Docker est le logiciel que tu ex\u00e9cutes dessus pour isoler les applications dans des conteneurs.\"}},{\"@type\":\"Question\",\"name\":\"\u00c0 quoi sert Portainer ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Portainer est utilis\u00e9 pour g\u00e9rer les conteneurs Docker, Docker Swarm et Kubernetes via une interface web. Il fonctionne lui-m\u00eame comme un conteneur Docker, se connecte au socket Docker de l'h\u00f4te et te donne une vue dans le navigateur et une surface de contr\u00f4le sur tous les autres conteneurs de l'h\u00f4te : d\u00e9marrer et arr\u00eater des conteneurs, d\u00e9ployer des piles multi-conteneurs, consulter les logs et g\u00e9rer l'acc\u00e8s des utilisateurs sans avoir \u00e0 te connecter en SSH.\"}},{\"@type\":\"Question\",\"name\":\"Ai-je besoin de Portainer si j'ai Docker ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Non, tu n'as pas besoin de Portainer pour utiliser Docker. Docker fonctionne enti\u00e8rement depuis le terminal, et de nombreux auto-h\u00e9bergeurs n'installent jamais d'interface utilisateur par-dessus.\"}},{\"@type\":\"Question\",\"name\":\"Sur quel port fonctionne Portainer ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Portainer sert son interface web en HTTPS sur le port 9443 par d\u00e9faut. La commande d'installation officielle publie aussi le port 8000, un tunnel TCP utilis\u00e9 uniquement par les Edge Agents lorsque tu connectes plus tard des h\u00f4tes Docker distants ; il est facultatif sur une installation \u00e0 un seul h\u00f4te.\"}},{\"@type\":\"Question\",\"name\":\"Quelle quantit\u00e9 de RAM Portainer n\u00e9cessite-t-il ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"La configuration requise actuelle de Portainer ne publie aucun minimum de RAM : le serveur fonctionne comme un conteneur l\u00e9ger, et les recommandations de performance de la documentation portent sur le disque, pas sur la m\u00e9moire. Dimensionne ta RAM en additionnant les besoins document\u00e9s du syst\u00e8me d'exploitation, du d\u00e9mon Docker et de chaque application que tu vas ex\u00e9cuter, puis garde de la marge pour les pics.\"}},{\"@type\":\"Question\",\"name\":\"Portainer est-il gratuit ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oui, et m\u00eame doublement. Portainer Community Edition est gratuit et open source, sans cl\u00e9 de licence requise. Portainer Business Edition est aussi gratuit jusqu'\u00e0 3 n\u0153uds, avec toutes les fonctionnalit\u00e9s et sans limite de dur\u00e9e ; au-del\u00e0 de trois n\u0153uds, le tarif Business commence \u00e0 105 $\/mois avec le plan Starter, en date d'ao\u00fbt 2026.\"}},{\"@type\":\"Question\",\"name\":\"Portainer peut-il g\u00e9rer plusieurs h\u00f4tes Docker ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oui, Portainer g\u00e8re plusieurs h\u00f4tes Docker gr\u00e2ce aux Agents et aux Edge Agents. L'Agent standard \u00e9coute sur le port 9001 de chaque h\u00f4te distant ; les Edge Agents, eux, se connectent en sortie au port de tunnel 8000 du serveur Portainer et n'ont besoin d'aucun port entrant ouvert de leur c\u00f4t\u00e9.\"}},{\"@type\":\"Question\",\"name\":\"Docker contourne-t-il UFW sur un VPS ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oui, Docker contourne UFW par d\u00e9faut car Docker g\u00e8re le trafic des conteneurs au niveau de la couche NAT iptables, qui se trouve devant les cha\u00eenes INPUT et OUTPUT de UFW. La solution consiste \u00e0 ajouter des r\u00e8gles \u00e0 la cha\u00eene iptables DOCKER-USER ; un outil communautaire pour y int\u00e9grer UFW est chaifeng\/ufw-docker.\"}}]},{\"@type\":\"HowTo\",\"name\":\"Comment installer Docker et Portainer sur un VPS\",\"description\":\"Installe Docker et Portainer Community Edition sur un VPS Ubuntu en sept \u00e9tapes, du choix d'une distribution Linux \u00e0 la cr\u00e9ation du compte administrateur. Le temps de t\u00e9l\u00e9chargement et d'installation d\u00e9pend de ton VPS et de ta connexion r\u00e9seau.\",\"step\":[{\"@type\":\"HowToStep\",\"position\":1,\"name\":\"Choisis une distribution Linux\",\"text\":\"Ce guide utilise Ubuntu 24.04 LTS. Docker Engine prend en charge Ubuntu 22.04, 24.04 et 26.04 LTS (en date d'ao\u00fbt 2026). Debian et les distributions de la famille RHEL comme AlmaLinux ont leurs propres proc\u00e9dures d'installation dans la documentation de Docker, et la documentation d'installation de Portainer suppose que SELinux est d\u00e9sactiv\u00e9 sur les syst\u00e8mes de la famille RHEL.\"},{\"@type\":\"HowToStep\",\"position\":2,\"name\":\"Installe Docker depuis le d\u00e9p\u00f4t officiel\",\"text\":\"N'installe pas docker.io avec apt : la documentation d'installation de Docker classe docker.io parmi les paquets non officiels \u00e0 d\u00e9sinstaller d'abord. Supprime les paquets en conflit, ajoute la cl\u00e9 GPG et le d\u00e9p\u00f4t apt de Docker selon la documentation officielle d'installation de Docker, puis ex\u00e9cute : sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\"},{\"@type\":\"HowToStep\",\"position\":3,\"name\":\"V\u00e9rifie que Docker fonctionne\",\"text\":\"Ex\u00e9cute sudo docker run hello-world. Si tu ne re\u00e7ois pas le message \u00ab Hello from Docker! \u00bb, corrige le d\u00e9mon avant d'ajouter Portainer par-dessus.\"},{\"@type\":\"HowToStep\",\"position\":4,\"name\":\"Int\u00e8gre UFW \u00e0 Docker avant de d\u00e9marrer Portainer\",\"text\":\"Les ports publi\u00e9s par Docker contournent UFW par d\u00e9faut. Active UFW (en autorisant SSH d'abord), installe le script chaifeng\/ufw-docker, ex\u00e9cute ufw-docker install, recharge UFW et ajoute une r\u00e8gle d'autorisation par IP source pour le port 9443 du conteneur (sudo ufw route allow proto tcp from YOUR_HOME_IP to any port 9443) avant le d\u00e9marrage de Portainer, pour que l'interface ne soit jamais accessible publiquement pendant sa fen\u00eatre de cinq minutes de cr\u00e9ation de l'administrateur initial.\"},{\"@type\":\"HowToStep\",\"position\":5,\"name\":\"Cr\u00e9e un volume persistant pour les donn\u00e9es de Portainer\",\"text\":\"Ex\u00e9cute sudo docker volume create portainer_data. Garder la base de donn\u00e9es de Portainer sur un volume Docker (et non \u00e0 l'int\u00e9rieur du conteneur) signifie qu'une mise \u00e0 niveau de Portainer n'effacera pas ta configuration.\"},{\"@type\":\"HowToStep\",\"position\":6,\"name\":\"Ex\u00e9cute Portainer Community Edition\",\"text\":\"Utilise la commande d'installation officielle du document d'installation de Portainer pour Linux, sans le port facultatif du tunnel Edge Agent : sudo docker run -d -p 9443:9443 --name portainer --restart=always -v \/var\/run\/docker.sock:\/var\/run\/docker.sock -v portainer_data:\/data portainer\/portainer-ce:lts. Le drapeau -d l'ex\u00e9cute en mode d\u00e9tach\u00e9, -p 9443:9443 est l'interface web de Portainer en HTTPS, --restart=always relance Portainer apr\u00e8s un red\u00e9marrage, les drapeaux -v correspondent \u00e0 la liaison du socket et au volume persistant de l'\u00e9tape 5, et le tag :lts d\u00e9signe la branche de versions \u00e0 support long terme (Long Term Support) de Portainer.\"},{\"@type\":\"HowToStep\",\"position\":7,\"name\":\"Ouvre l'interface de Portainer et cr\u00e9e le compte administrateur\",\"text\":\"Dirige ton navigateur vers https:\/\/YOUR_VPS_IP:9443 depuis l'adresse IP que tu as autoris\u00e9e \u00e0 l'\u00e9tape 4. Passe outre l'avertissement du certificat auto-sign\u00e9. Tu arriveras sur l'\u00e9cran de \u00ab cr\u00e9ation de l'utilisateur administrateur initial \u00bb. Choisis un nom d'utilisateur qui n'est pas admin, d\u00e9finis un mot de passe fort et conserve-le en lieu s\u00fbr.\"}]}]}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Ex\u00e9cutez Docker sur un VPS avec l&#8217;interface utilisateur web de Portainer en avant. \u00c9tapes d&#8217;installation, dimensionnement, s\u00e9curit\u00e9 et les pi\u00e8ges que chaque guide d&#8217;installation omet. Environ 30 minutes du d\u00e9but \u00e0 la fin.<\/p>\n","protected":false},"author":2,"featured_media":82008,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","toc_headlines":"[[\"h-what-is-portainer-exactly\",\"Qu'est-ce Que Portainer, Exactement ?\"],[\"h-do-you-need-portainer-if-you-already-have-docker\",\"As-tu Besoin De Portainer Si Tu Poss\u00e8des D\u00e9j\u00e0 Docker?\"],[\"h-how-big-a-vps-do-you-need-to-run-docker-and-portainer\",\"Quelle Taille De VPS As-Tu Besoin Pour Ex\u00e9cuter Docker Et Portainer ?\"],[\"h-how-do-you-install-docker-and-portainer-on-a-vps\",\"Comment Installer Docker et Portainer Sur Un VPS\u00a0?\"],[\"h-why-did-portainer-just-time-out-on-me\",\"Pourquoi Portainer A-t-il Juste Expir\u00e9 Sur Moi ?\"],[\"h-how-do-you-stop-docker-from-bypassing-your-firewall\",\"Comment Arr\u00eater Docker De Contourner Ton Pare-feu ?\"],[\"h-what-should-you-lock-down-right-after-the-first-login\",\"Que Devrais-Tu S\u00e9curiser Juste Apr\u00e8s La Premi\u00e8re Connexion ?\"],[\"h-how-do-you-actually-use-portainer-day-to-day\",\"Comment Utilises-Tu R\u00e9ellement Portainer Au Quotidien ?\"],[\"h-what-does-portainer-cost-and-when-does-free-stop-being-free\",\"Quel Est Le Co\u00fbt De Portainer ? (Et Quand Le Gratuit Cesse-T-Il D\u2019\u00catre Gratuit ?)\"],[\"h-should-you-add-portainer-or-skip-it\",\"Devrais-Tu Ajouter Portainer Ou Le Passer?\"],[\"h-frequently-asked-questions-about-docker-and-portainer\",\"Questions Fr\u00e9quemment Pos\u00e9es Sur Docker et Portainer\"]]","hide_toc":false,"show_updated_at":"0","footnotes":""},"categories":[15001,14995,14999],"tags":[],"class_list":["post-82074","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-hosting-fr","category-tutorials-fr","category-vps-hosting-fr"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Comment Ex\u00e9cuter Docker et Portainer sur un VPS (Guide 2026) - DreamHost Blog<\/title>\n<meta name=\"description\" content=\"Ex\u00e9cute Docker sur un VPS avec l&#039;interface web de Portainer en avant. \u00c9tapes d&#039;installation, dimensionnement, s\u00e9curit\u00e9 et les pi\u00e8ges que chaque guide d&#039;installation omet. Environ 30 minutes du d\u00e9but \u00e0 la fin.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment Ex\u00e9cuter Docker et Portainer sur un VPS (Guide 2026) - DreamHost Blog\" \/>\n<meta property=\"og:description\" content=\"Ex\u00e9cute Docker sur un VPS avec l&#039;interface web de Portainer en avant. \u00c9tapes d&#039;installation, dimensionnement, s\u00e9curit\u00e9 et les pi\u00e8ges que chaque guide d&#039;installation omet. Environ 30 minutes du d\u00e9but \u00e0 la fin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-19T14:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-24T22:19:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"1095\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Dallas Kashuba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@http:\/\/twitter.com\/dallas\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dallas Kashuba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Comment Ex\u00e9cuter Docker et Portainer sur un VPS (Guide 2026) - DreamHost Blog","description":"Ex\u00e9cute Docker sur un VPS avec l'interface web de Portainer en avant. \u00c9tapes d'installation, dimensionnement, s\u00e9curit\u00e9 et les pi\u00e8ges que chaque guide d'installation omet. Environ 30 minutes du d\u00e9but \u00e0 la fin.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/","og_locale":"en_US","og_type":"article","og_title":"Comment Ex\u00e9cuter Docker et Portainer sur un VPS (Guide 2026) - DreamHost Blog","og_description":"Ex\u00e9cute Docker sur un VPS avec l'interface web de Portainer en avant. \u00c9tapes d'installation, dimensionnement, s\u00e9curit\u00e9 et les pi\u00e8ges que chaque guide d'installation omet. Environ 30 minutes du d\u00e9but \u00e0 la fin.","og_url":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2026-06-19T14:30:00+00:00","article_modified_time":"2026-09-24T22:19:57+00:00","og_image":[{"width":1460,"height":1095,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp","type":"image\/webp"}],"author":"Dallas Kashuba","twitter_card":"summary_large_image","twitter_creator":"@http:\/\/twitter.com\/dallas","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Dallas Kashuba","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/#article","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/"},"author":{"name":"Dallas Kashuba","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/418697d2a49f38f84e7051458118d483"},"headline":"Comment Ex\u00e9cuter Docker et Portainer sur un VPS (Guide 2026)","datePublished":"2026-06-19T14:30:00+00:00","dateModified":"2026-09-24T22:19:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/"},"wordCount":6281,"publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp","articleSection":["H\u00e9bergement Web","Tutoriels","VPS Hosting"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/","url":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/","name":"Comment Ex\u00e9cuter Docker et Portainer sur un VPS (Guide 2026) - DreamHost Blog","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/#primaryimage"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp","datePublished":"2026-06-19T14:30:00+00:00","dateModified":"2026-09-24T22:19:57+00:00","description":"Ex\u00e9cute Docker sur un VPS avec l'interface web de Portainer en avant. \u00c9tapes d'installation, dimensionnement, s\u00e9curit\u00e9 et les pi\u00e8ges que chaque guide d'installation omet. Environ 30 minutes du d\u00e9but \u00e0 la fin.","breadcrumb":{"@id":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/#primaryimage","url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp","contentUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460x1095-BLOG-HERO-Run-Docker-and-Portainer-on-a-VPS-2026-Guide_1x.webp","width":1460,"height":1095,"caption":"How To Run Docker and Portainer on a VPS (2026 Guide)"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dreamhost.com\/blog\/fr\/comment-executer-docker-et-portainer-sur-un-vps-guide-2026-fr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog2.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"Comment Ex\u00e9cuter Docker et Portainer sur un VPS (Guide 2026)"}]},{"@type":"WebSite","@id":"https:\/\/www.dreamhost.com\/blog\/#website","url":"https:\/\/www.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog2.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog2.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/418697d2a49f38f84e7051458118d483","name":"Dallas Kashuba","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","caption":"Dallas Kashuba"},"description":"Dallas Kashuba co-founded DreamHost while attending Harvey Mudd College and has spent nearly three decades building infrastructure at scale. Today he serves as an advisor, board member, and investor for various tech startups, with a consistent focus on user privacy, open source, and data portability. When he's not thinking about the Open Web, he's probably making music. Follow Dallas on X.","sameAs":["http:\/\/www.idallas.com\/","https:\/\/x.com\/http:\/\/twitter.com\/dallas"],"url":"https:\/\/www.dreamhost.com\/blog\/author\/dallas\/"}]}},"lang":"fr","translations":{"fr":82074,"en":82006,"es":82076,"pt":82068,"de":82070,"nl":82080,"it":82082},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/82074","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":2,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/82074\/revisions"}],"predecessor-version":[{"id":91781,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/82074\/revisions\/91781"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/82008"}],"wp:attachment":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=82074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=82074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=82074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}