version: '3.8' networks: default: name: "${TRAEFIK_NETWORK}" external: true services: portainer: image: "portainer/portainer-ce:alpine" container_name: "${PROJECT_NAME}_portainer" hostname: "${PROJECT_URL}" command: "-H unix:///var/run/docker.sock" volumes: - "/var/run/docker.sock:/var/run/docker.sock" - "data:/data" restart: always labels: # Watchtower add to auto update - "com.centurylinklabs.watchtower.enable=true" # traefik - "traefik.enable=true" - "traefik.docker.network=${TRAEFIK_NETWORK}" - "traefik.http.routers.${PROJECT_NAME}_portainer.rule=Host(`${PROJECT_URL}`)" - "traefik.http.routers.${PROJECT_NAME}_portainer.entrypoints=websecure" - "traefik.http.routers.${PROJECT_NAME}_portainer.tls=true" - "traefik.http.services.${PROJECT_NAME}_portainer.loadbalancer.server.port=9000" volumes: data: name: "${PROJECT_NAME}-portainer-data"