Files
wiki/Catalogue-Self-Hosted/apps/app-portainer.md
T
2026-06-09 18:40:21 +02:00

7.2 KiB


title: Portainer created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, docker, container, ui, management, orchestration, monitoring-docker, compose] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Docker, https://github.com/portainer/portainer]

🐳 Portainer

L'UI web de référence pour gérer Docker, Docker Swarm et Kubernetes — la plus déployée en self-hosted et en entreprise.

📋 Informations Générales

Champ Valeur
Site web portainer.io
GitHub portainer/portainer
License Zlib (custom — voir CE vs Business)
Langage Go (backend) + Angular (UI)
Étoiles GitHub 37,7k
Dernière MAJ 2026-06-06
Catégorie cat-docker

📝 Description

Portainer est une plateforme de management de conteneurs qui fournit une interface graphique centralisée pour piloter des environnements Docker (standalone, Swarm, Kubernetes ACI, Nomad). C'est l'outil de loin le plus populaire du domaine : plus de 650 000 utilisateurs dans le monde, utilisé aussi bien par les homelabs que par les grandes entreprises.

L'édition Community Edition (CE) est gratuite et open source (code sous Zlib) et couvre l'essentiel : gestion des conteneurs, images, volumes, réseaux, stacks Compose, registries, utilisateurs locaux. L'édition Business (payante, ~150 €/an) ajoute l'authentification SSO (OAuth, SAML, LDAP), les quotas de ressources, la conformité, le support commercial et l'audit avancé.

  • Multi-environnements : Docker standalone, Docker Swarm, K8s, ACI, Nomad
  • Stacks docker-compose : déploiement direct depuis l'UI (pull + up)
  • Gestion des images, volumes, réseaux, registries
  • Console web dans chaque conteneur (exec shell)
  • RBAC basique (CE) / SSO + quotas (Business)
  • Templates d'apps (catalogue de stacks préconfigurées)
  • Logs et stats CPU/RAM par conteneur
  • Agent léger (portainer-agent) pour manager des hôtes distants

Public cible : du débutant à l'entreprise. Pour un homelab, CE suffit largement. Pour une équipe, Business apporte la gouvernance.

Alternatives directes : app-dockge (plus simple, docker-compose only), app-yacht (léger, peu maintenu), app-arcane (moderne, plus jeune), app-komodo (multi-serveurs).

🚀 Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'
services:
  portainer:
    image: portainer/portainer-ce:2.21.5
    container_name: portainer
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    ports:
      - "9443:9443"  # UI HTTPS
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.portainer.rule=Host(`portainer.example.com`)"
      - "traefik.http.routers.portainer.entrypoints=websecure"
      - "traefik.http.routers.portainer.tls.certresolver=letsencrypt"
      - "traefik.http.routers.portainer.service=portainer-svc"
      - "traefik.http.services.portainer-svc.loadbalancer.server.port=9443"
      - "traefik.http.routers.portainer.middlewares=portainer-strip@docker"
      - "traefik.http.middlewares.portainer-strip.stripprefix.prefixes=/portainer"

volumes:
  portainer_data:

⚠️ Pour une meilleure sécurité, ne montez pas le socket directement : utilisez app-docker-socket-proxy en amont. Voir section Sécurité.

Option 2 : Binaires (Linux)

# Téléchargement direct
docker run -d -p 9000:9000 --name portainer --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data portainer/portainer-ce:latest

Note : l'image latest est pratique pour démarrer mais à éviter en production. Pinez toujours une version (ex. :2.21.5).

⚙️ Configuration Initiale

  1. Accéder à l'UI : https://portainer.example.com (HTTPS obligatoire)
  2. Créer le compte admin (12 caractères min depuis 2.21)
  3. Sélectionner l'environnement : local (= l'hôte Docker) ou ajouter un agent distant
  4. Pour un environnement distant : déployer portainer/agent sur l'hôte cible, récupérer le token
  5. Explorer le menu Home : tous vos environnements y sont listés
  6. Déployer votre première stack : Stacks > Add stack > coller un docker-compose.yml

🔄 Alternatives

Open Source

  • app-dockge — Plus simple, axé docker-compose.yml self-contained
  • app-yacht — Interface légère, templating 1-click (peu maintenue)
  • app-arcane — UI moderne, Svelte/SvelteKit
  • app-komodo — Orchestration multi-serveurs (Rust)
  • app-dockhand — Management + orchestration
  • Cockpit (module Podman) — Pour les fans de Red Hat

Propriétaires

  • Docker Desktop — UI officielle, locale, pas self-hosted
  • Rancher (SUSE) — Plus lourd, orienté K8s enterprise
  • Mirantis Kubernetes Engine — K8s managé avec UI intégrée
  • Shipyard (Triton) — UI legacy SmartOS

Tableau comparatif

Critère Portainer CE Dockge Yacht Arcane Komodo
Multi-host (via agent) (natif)
K8s
Compose-only
RBAC / SSO Basique Basique
Prix Gratuit Gratuit Gratuit Gratuit Gratuit
Interface Classique Moderne Légère Très moderne Moderne
Licence Zlib (CE) MIT MIT Apache-2.0 GPL-3.0

Verdict : Portainer reste le standard pour une UI Docker complète et polyvalente. Pour une approche plus docker-compose-centric, app-dockge est souvent préféré par les homelabs qui veulent rester proches du fichier Compose.

🔐 Sécurité

  • ⚠️ Socket Docker = privilèges root : un conteneur avec /var/run/docker.sock peut prendre le contrôle total de l'hôte. Ne jamais exposer Portainer sur Internet sans auth forte.
  • Mettre en place app-docker-socket-proxy (Tecnativa) pour filtrer l'accès au socket (ex : interdire exec, pull, push).
  • Forcer HTTPS (port 9443, jamais 9000) et placer derrière app-traefik avec middleware d'auth (Authelia, Authentik).
  • Désactiver l'inscription : Settings > Authentication après la création du 1er admin.
  • Mettre à jour régulièrement : Portainer publie souvent des correctifs de sécurité.

📚 Ressources

Pages Liées