- Avoir installé docker et docker compose sur un serveur
- Avoir un certificat let's encrypt
- Avoir un conteneur Traefik
version: '3.9'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
## Optionnel : supprimer cette ligne et les commentaires seulement si le conteneur Autoheal est utilisé
# healthcheck:
# test: ["CMD", "/docker", "container", "top", "portainer"]
# interval: 1m
# timeout: 30s
# retries: 3
deploy:
resources:
limits:
memory: 256M
restart: always
security_opt:
- no-new-privileges:true
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data:/data
networks:
- traefik-network
labels:
# - autoheal=true # Optionnel : supprimer ce message et le commentaire en début de ligne seulement si le conteneur Autoheal est utilisé
- traefik.enable=true
- traefik.docker.network=traefik-network
- traefik.http.routers.portainer.entrypoints=http
- traefik.http.routers.portainer.rule=Host(`portainer.*****.**) # mettre le ndd
- traefik.http.middlewares.portainer-https-redirect.redirectscheme.scheme=https
- traefik.http.routers.portainer.middlewares=portainer-https-redirect
- traefik.http.routers.portainer-secure.entrypoints=https
- traefik.http.routers.portainer-secure.rule=Host(`portainer.*****.**`) # mettre le ndd
- traefik.http.routers.portainer-secure.tls=true
- traefik.http.services.portainer.loadbalancer.server.port=9000
volumes:
data:
networks:
traefik-network:
external: true