Files
cloudy/swarm/portainer.yml
T

53 lines
1.7 KiB
YAML

services:
agent:
image: portainer/agent:sts
environment:
AGENT_CLUSTER_ADDR: tasks.agent
volumes:
- /var/run/docker.sock:/var/run/docker.sock:z
- /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:sts
command: -H tcp://tasks.agent:9001 --tlsskipverify
volumes:
- portainer-data:/data
networks:
- agent-network
- traefik-public
deploy:
placement:
constraints:
- node.role == manager
- node.labels.portainer.portainer-data == true
labels:
- traefik.enable=true
- traefik.swarm.network=traefik-public
- traefik.constraint-label=traefik-public
- traefik.http.routers.portainer-https.entrypoints=https
- traefik.http.routers.portainer-https.rule=Host(`port.${DOMAIN?Variable not set}`) || Host(`portainer.${DOMAIN?Variable not set}`)
- traefik.http.routers.portainer-https.tls.certresolver=le
- traefik.http.routers.portainer-https.service=portainer_service
- traefik.http.routers.portainer-local-https.entrypoints=https
- traefik.http.routers.portainer-local-https.rule=Host(`port.${LOCALDOMAIN?Variable not set}`) || Host(`portainer.${LOCALDOMAIN?Variable not set}`)
- traefik.http.routers.portainer-local-https.tls=true
- traefik.http.routers.portainer-local-https.service=portainer_service
- traefik.http.services.portainer_service.loadbalancer.server.port=9000
networks:
agent-network:
driver: overlay
attachable: true
traefik-public:
external: true
volumes:
portainer-data: