#docker stack deploy portainer --compose-file docker-compose.yml version: '3.2' services: agent: image: portainer/agent:lts volumes: - /var/run/docker.sock:/var/run/docker.sock - /var/lib/docker/volumes:/var/lib/docker/volumes networks: - agent_network deploy: mode: global placement: constraints: [node.platform.os == linux] portainer: image: portainer/portainer-ce:lts command: -H tcp://tasks.agent:9001 --tlsskipverify ports: - "9443:9443" - "8000:8000" volumes: - type: bind source: /mnt/docker-storage/portainer target: /data networks: - agent_network - traefik_proxy deploy: mode: replicated replicas: 1 placement: constraints: [node.role == manager] labels: - homepage.group=Management - homepage.name=Portainer - homepage.icon=sh-portainer-light - homepage.href=https://portainer.dua.casa/ - homepage.description=Portainer is a universal container management platform. - homepage.widget.type=portainer - homepage.widget.url=https://portainer.apps.dua.casa/ - homepage.widget.env=1 - homepage.widget.key=ptr_2Paj0QMqSY3QE4xGMdxnsncsw8qIBBnflLNtxRZz1a8= - "traefik.enable=true" - "traefik.http.routers.portainer.rule=Host(`portainer.apps.dua.casa`)" - "traefik.http.routers.portainer.entrypoints=websecure" - "traefik.http.routers.portainer.tls=true" - "traefik.http.routers.portainer.tls.certresolver=letsencrypt" - "traefik.http.services.portainer.loadbalancer.server.port=9443" - "traefik.http.services.portainer.loadbalancer.server.scheme=https" networks: agent_network: driver: overlay attachable: true traefik_proxy: external: true