48 lines
1.4 KiB
YAML
48 lines
1.4 KiB
YAML
version: "3"
|
|
|
|
services:
|
|
agent:
|
|
image: portainer/agent
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /var/lib/docker/volumes:/var/lib/docker/volumes
|
|
networks:
|
|
- traefik-public
|
|
deploy:
|
|
mode: global
|
|
placement:
|
|
constraints: [node.platform.os == linux]
|
|
|
|
portainer:
|
|
image: portainer/portainer
|
|
command: -H tcp://tasks.agent:9001 --tlsskipverify
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- portainer_data:/data
|
|
networks:
|
|
- traefik-public
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
placement:
|
|
constraints: [node.role == manager]
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.portainer.rule=Host(`portainer.trustai.uk`)"
|
|
- "traefik.http.routers.portainer.entrypoints=web"
|
|
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
|
|
# TLS
|
|
- "traefik.http.routers.portainers.rule=Host(`portainer.trustai.uk`)"
|
|
- "traefik.http.routers.portainers.entrypoints=websecure"
|
|
- "traefik.http.routers.portainers.tls.certresolver=myhttpchallenge"
|
|
# Redirect
|
|
- "traefik.http.routers.portainer.middlewares=https_redirect"
|
|
- "traefik.http.middlewares.https_redirect.redirectscheme.scheme=https"
|
|
|
|
volumes:
|
|
portainer_data:
|
|
|
|
networks:
|
|
traefik-public:
|
|
external: true
|