Déployer une application NGINX + PHP avec Portainer 🚀

Apprenez à déployer votre première stack NGINX + PHP avec Portainer. Ce guide vous montre comment créer, gérer et mettre à jour vos services Docker via l’interface graphique, en conservant le contrôle total sur votre stack 🚀

Illustration montrant le déploiement d’une application NGINX + PHP via Portainer
Déployer une stack NGINX + PHP avec Portainer : visualisez vos services, volumes et containers directement depuis l’interface web.

Après avoir compris et utilisé Docker Compose pour déployer notre première application, il est temps de voir Portainer en action. Ce tutoriel montre comment déployer exactement la même stack NGINX + PHP via l’interface graphique, sans perdre le contrôle sur tes services.

👉 Si tu n’as pas encore suivi le précédent article, je te conseille de lire :


Pourquoi utiliser Portainer ?

Portainer est une interface web qui permet de gérer tes containers, images et stacks Docker facilement. Ses avantages :

  • Interface graphique intuitive
  • Déploiement rapide de stacks via fichiers docker-compose.yml
  • Suivi des logs et des containers
  • Redémarrage et mise à jour simplifiés

Même si Docker Compose reste la source de vérité, Portainer rend la gestion de tes services beaucoup plus confortable, surtout sur un serveur partagé ou pour présenter tes projets.


Structure du projet

Nous allons réutiliser la même structure que précédemment :

nginx-php/
├── docker-compose.yml
├── nginx/
│   └── default.conf
└── app/
    └── index.php
  • docker-compose.yml : définition de la stack
  • nginx/default.conf : configuration NGINX
  • app/index.php : simple page PHP pour tester

Cette cohérence permet de passer sans effort de la CLI à l’interface graphique.


Préparer Portainer

1️⃣ Connecte-toi à ton Portainer via ton navigateur :

http://IP_DU_SERVEUR:9000

2️⃣ Sélectionne l’environnement Docker local.
3️⃣ Dans le menu, va sur Stacks > Add stack.


Créer la stack

1️⃣ Donne un nom à ta stack, par exemple nginx-php.
2️⃣ Copie le contenu du fichier docker-compose.yml dans le champ Web editor.
3️⃣ Clique sur Deploy the stack.

Portainer va automatiquement :

  • créer les services NGINX et PHP
  • monter les volumes
  • démarrer les containers

En quelques secondes, ta stack est opérationnelle !


Vérifier le déploiement

  • Dans Stacks, clique sur nginx-php > Services pour voir NGINX et PHP.
  • Clique sur Logs pour suivre les messages.
  • Ouvre ton navigateur :
http://IP_DU_SERVEUR:8080

Tu devrais voir ton message PHP et la page phpinfo() 🎉


Mettre à jour et gérer la stack

Portainer rend les mises à jour simples :

  • Pour modifier un service, édite le docker-compose.yml directement dans l’UI
  • Clique sur Update the stack
  • Les services seront redéployés proprement

Autre avantage : tu peux arrêter ou redémarrer les services individuellement, ou remonter toute la stack en un clic.


Bonnes pratiques

  • Toujours garder une copie de ton docker-compose.yml en local
  • Ne jamais modifier les containers manuellement sans passer par Portainer ou le YAML
  • Utiliser des volumes pour les données persistantes
  • Nommer tes stacks et services de manière claire

Conclusion

Avec Portainer, tu as désormais une interface graphique puissante pour gérer tes stacks Docker, tout en conservant le contrôle grâce à Docker Compose. Cette méthode est parfaite pour des déploiements rapides, la maintenance et le suivi des services.

Dans les prochains articles, nous pourrons explorer :

  • La mise à jour d’une stack Portainer sans downtime
  • L’ajout de services supplémentaires dans une stack existante
  • Les bonnes pratiques de sécurité sur Portainer

🚀 Tu es maintenant capable de déployer et gérer une stack NGINX + PHP de bout en bout, en CLI ou via Portainer !