58 lines
2.0 KiB
YAML
58 lines
2.0 KiB
YAML
services:
|
|
traefik:
|
|
image: traefik:latest
|
|
container_name: traefik
|
|
restart: always
|
|
command:
|
|
- "--global.checknewversion=false"
|
|
- "--log.level=INFO"
|
|
- "--log.filepath=/logs/traefik.log"
|
|
- "--accesslog=true"
|
|
- "--accesslog.filepath=/logs/access.log"
|
|
- "--entrypoints.web.address=:80"
|
|
- "--entrypoints.web.forwardedheaders.trustedips=0.0.0.0/0"
|
|
- "--entrypoints.websecure.address=:443"
|
|
- "--entrypoints.websecure.forwardedheaders.trustedips=0.0.0.0/0"
|
|
- "--api.dashboard=true"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.endpoint=unix:///var/run/docker.sock"
|
|
- "--providers.docker.network=${EXTERNAL_NETWORK}"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--providers.docker.watch=true"
|
|
- "--providers.file.filename=/etc/traefik/traefik_dynamic.yml"
|
|
- "--providers.file.watch=true"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.traefik-dashboard.rule=Host(`traefik.${DEV_URL}`)"
|
|
- "traefik.http.routers.traefik-dashboard.entrypoints=web"
|
|
- "traefik.http.routers.traefik-dashboard.service=api@internal"
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- ./traefik/traefik_dynamic.yml:/etc/traefik/traefik_dynamic.yml:ro
|
|
- ./traefik/logs:/logs
|
|
networks:
|
|
- ${EXTERNAL_NETWORK}
|
|
|
|
portainer:
|
|
image: portainer/portainer-ce:latest
|
|
container_name: portainer
|
|
restart: always
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ./portainer:/data
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.portainer.rule=Host(`portainer.${DEV_URL}`)"
|
|
- "traefik.http.routers.portainer.entrypoints=web"
|
|
- "traefik.http.routers.portainer.service=portainer"
|
|
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
|
|
networks:
|
|
- ${EXTERNAL_NETWORK}
|
|
|
|
networks:
|
|
traefiknet:
|
|
name: ${EXTERNAL_NETWORK}
|
|
external: true |