services: portainer: image: portainer/portainer-ce:latest command: -H tcp://tasks.agent:9001 --tlsskipverify volumes: - /home/doc/projects/swarm-data/portainer:/data networks: - frostlabs ports: - 9000:9000 deploy: mode: replicated replicas: 1 placement: constraints: - node.labels.task == control labels: - "traefik.enable=true" - "traefik.swarm.network=frostlabs" - "traefik.http.routers.portainer.rule=Host(`portainer.frostlabs.me`)" - "traefik.http.routers.portainer.entrypoints=websecure" - "traefik.http.routers.portainer.tls=true" - "traefik.http.routers.portainer.tls.certresolver=cloudflare" - "traefik.http.services.portainer.loadbalancer.server.port=9000" agent: image: portainer/agent:latest volumes: - /var/run/docker.sock:/var/run/docker.sock - /var/lib/docker/volumes:/var/lib/docker/volumes networks: - frostlabs deploy: mode: global networks: frostlabs: external: true