deployment/ansible/roles/portainer-deploy/templates/portainer-stack.yml.j2

54 lines
1.2 KiB
Django/Jinja

# vim: ft=yaml
version: '3.2'
services:
app:
image: 'portainer/portainer-ce:{{ portainer.version }}-alpine'
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'
- 'traefik.http.middlewares.portainer.compress=true'
networks:
- default
- public
volumes:
- 'data:/data'
ports:
- '8000:8000'
agent:
image: 'portainer/agent:{{ portainer.version }}-alpine'
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:
default:
driver: overlay
attachable: true
public:
external: true
volumes:
data: