2021-12-11 16:28:17 +01:00
|
|
|
# vim: ft=yaml
|
|
|
|
version: '3'
|
|
|
|
|
|
|
|
services:
|
|
|
|
app:
|
2021-12-11 16:59:48 +01:00
|
|
|
image: 'portainer/portainer-ce:{{ portainer_version }}-alpine'
|
2021-12-11 16:28:17 +01:00
|
|
|
command: '-H tcp://tasks.agent:9001 --tlsskipverify'
|
|
|
|
|
|
|
|
deploy:
|
|
|
|
mode: replicated
|
|
|
|
replicas: 1
|
|
|
|
placement:
|
|
|
|
constraints:
|
|
|
|
- node.role == manager
|
|
|
|
labels:
|
|
|
|
- 'traefik.enable=true'
|
|
|
|
- 'traefik.http.routers.portainer.rule=Host(`{{ portainer_domain }}`)'
|
|
|
|
- 'traefik.http.routers.portainer.service=portainer'
|
|
|
|
- 'traefik.http.services.portainer.loadbalancer.server.port=9000'
|
|
|
|
- 'traefik.http.routers.portainer.tls=true'
|
|
|
|
- 'traefik.http.routers.portainer.tls.certresolver=letsEncrypt'
|
|
|
|
|
|
|
|
networks:
|
|
|
|
- default
|
|
|
|
- public
|
|
|
|
volumes:
|
|
|
|
- 'data:/data'
|
|
|
|
ports:
|
|
|
|
- '8000:8000'
|
|
|
|
|
|
|
|
agent:
|
2021-12-11 16:59:48 +01:00
|
|
|
image: 'portainer/agent:{{ portainer_version }}-alpine'
|
2021-12-11 16:28:17 +01:00
|
|
|
|
|
|
|
deploy:
|
|
|
|
mode: global
|
|
|
|
placement:
|
|
|
|
constraints:
|
|
|
|
- node.platform.os == linux
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
- '/var/run/docker.sock:/var/run/docker.sock'
|
|
|
|
- '/var/lib/docker/volumes:/var/lib/docker/volumes'
|
|
|
|
|
|
|
|
networks:
|
|
|
|
public:
|
|
|
|
external: true
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
data:
|