summaryrefslogtreecommitdiff
path: root/playbooks/roles/portainer/templates/stacks/docker-compose.yml
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2025-03-16 21:23:16 -0700
committerElizabeth Hunt <me@liz.coffee>2025-03-16 21:23:16 -0700
commit654694f9276cd9c30a7f2690f9336cf63a0172ef (patch)
tree12e4e8ec000478c982152e56d327afdef26a3b6a /playbooks/roles/portainer/templates/stacks/docker-compose.yml
parentfb7e6890d8516618fa3baec0edf84048e2b6601d (diff)
downloadinfra-654694f9276cd9c30a7f2690f9336cf63a0172ef.tar.gz
infra-654694f9276cd9c30a7f2690f9336cf63a0172ef.zip
a good starting point for traefik
Diffstat (limited to 'playbooks/roles/portainer/templates/stacks/docker-compose.yml')
-rw-r--r--playbooks/roles/portainer/templates/stacks/docker-compose.yml46
1 files changed, 46 insertions, 0 deletions
diff --git a/playbooks/roles/portainer/templates/stacks/docker-compose.yml b/playbooks/roles/portainer/templates/stacks/docker-compose.yml
new file mode 100644
index 0000000..1a02cef
--- /dev/null
+++ b/playbooks/roles/portainer/templates/stacks/docker-compose.yml
@@ -0,0 +1,46 @@
+version: '3.2'
+
+services:
+ agent:
+ image: portainer/agent:2.21.5
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /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:alpine
+ command: -H tcp://tasks.agent:9001 --tlsskipverify
+ ports:
+ - "8000:8000"
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ - {{ portainer_base }}/volumes/data:/data
+ networks:
+ - proxy
+ - agent_network
+ deploy:
+ mode: replicated
+ replicas: 1
+ placement:
+ constraints: [node.role == manager]
+ labels:
+ - traefik.enable=true
+ - traefik.swarm.network=proxy
+ - traefik.http.routers.portainer.rule=Host(`{{ portainer_host }}`)
+ - traefik.http.routers.portainer.entrypoints=websecure
+ - traefik.http.routers.portainer.tls=true
+ - traefik.http.routers.portainer.tls.certResolver=letsencrypt
+ - traefik.http.services.portainer.loadbalancer.server.port=9000
+
+networks:
+ proxy:
+ external: true
+ agent_network:
+ driver: overlay
+ attachable: true