Skip to content

Instantly share code, notes, and snippets.

@watzon
Created December 21, 2021 16:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save watzon/b45c21ef4a0fcdf824429528e49ff643 to your computer and use it in GitHub Desktop.
Save watzon/b45c21ef4a0fcdf824429528e49ff643 to your computer and use it in GitHub Desktop.
Portainer + Caddy = <3
version: '3.3'
services:
agent:
image: portainer/agent:latest
environment:
AGENT_CLUSTER_ADDR: tasks.agent
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:latest
command: -H tcp://tasks.agent:9001 --tlsskipverify
volumes:
- portainer-data:/data
networks:
- agent-network
- caddy-public
deploy:
mode: global
placement:
constraints:
- node.role == manager
- node.labels.portainer.portainer-data == true
labels:
- caddy=${DOMAIN?Variable not set}
- caddy.reverse_proxy={{upstreams 9000}}
caddy:
image: lucaslorentz/caddy-docker-proxy:ci-alpine
ports:
# Listen on port 80, default for HTTP, necessary to redirect to HTTPS
- target: 80
published: 80
mode: host
# Listen on port 443, default for HTTPS
- target: 443
published: 443
mode: host
deploy:
mode: global
placement:
constraints:
- node.role == manager
networks:
- caddy-public
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- caddy_data:/data
networks:
# added with: docker network create --driver=overlay --attachable agent-network
agent-network:
external: true
# added with: docker network create --driver=overlay --attachable caddy-public
caddy-public:
external: true
volumes:
portainer-data:
caddy_data:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment