portainer/compose.yml

58 lines
1.6 KiB
YAML

---
version: "3.7"
services:
app:
image: portainer/portainer
command: "-H tcp://tasks.agent:9001 --tlsskipverify"
volumes:
- "portainer_data:/data"
- "/var/run/docker.sock:/var/run/docker.sock"
networks:
- agent_network
- proxy
deploy:
mode: replicated
replicas: 1
update_config:
failure_action: rollback
placement:
constraints:
- node.role == manager
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=9000"
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls=true"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
agent:
image: portainer/agent
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/var/lib/docker/volumes:/var/lib/docker/volumes"
networks:
- agent_network
deploy:
mode: global
update_config:
failure_action: rollback
placement:
constraints:
- node.role == manager
volumes:
portainer_data:
networks:
proxy:
external: true
agent_network:
driver: overlay
attachable: true