version: '3.2' services: agent: image: portainer/agent:{{ portainer_version }} volumes: - /var/run/docker.sock:/var/run/docker.sock - /var/lib/docker/volumes:/var/lib/docker/volumes networks: - {{ traefik_public_net }} deploy: mode: global placement: constraints: [node.platform.os == linux] portainer: image: portainer/portainer-ce:{{ portainer_version }} command: -H tcp://portainer_agent:9001 --tlsskipverify volumes: - {{ data_dir }}/data:/data networks: - {{ traefik_public_net }} deploy: mode: replicated replicas: 1 labels: - "traefik.enable=true" - "traefik.swarm.network={{ traefik_public_net }}" - "traefik.http.routers.portainer.rule=Host(`{{ subdomain }}.{{ main_domain }}`)" - "traefik.http.routers.portainer.entrypoints=https" - "traefik.http.routers.portainer.tls=true" - "traefik.http.routers.portainer.tls.certresolver=main" - "traefik.http.services.portainer.loadbalancer.server.port=9000" networks: {{ traefik_public_net }}: external: true