71 lines
2.2 KiB
YAML
71 lines
2.2 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
|
|
traefik:
|
|
image: traefik:v2.10
|
|
container_name: traefik
|
|
command:
|
|
# For web ui traefik
|
|
- "--api.insecure=true"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.swarmmode=false"
|
|
- "--log.level=DEBUG"
|
|
- "--providers.docker.exposedByDefault=false"
|
|
|
|
- "--entryPoints.web.address=:80"
|
|
- "--entryPoints.websecure.address=:443"
|
|
- "--certificatesResolvers.le.acme.email=${ACME_EMAIL}"
|
|
- "--certificatesResolvers.le.acme.storage=/acme/acme.json"
|
|
- "--certificatesResolvers.le.acme.httpChallenge=true"
|
|
- "--certificatesResolvers.le.acme.httpChallenge.entryPoint=web"
|
|
- "--certificatesresolvers.le.acme.caserver=https://acme-v02.api.letsencrypt.org/directory"
|
|
ports:
|
|
- "443:443"
|
|
- "80:80"
|
|
# The Web UI (enabled by --api.insecure=true)
|
|
- "8082:8080"
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ./acme:/acme
|
|
networks:
|
|
traefik_net:
|
|
|
|
# CONTAINER EXEMPLE
|
|
whoami:
|
|
image: traefik/whoami
|
|
container_name: whoami
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.whoami.rule=Host(`whoami.${DOMAIN}`)"
|
|
- "traefik.http.routers.whoami.entrypoints=web"
|
|
|
|
# HTTPS
|
|
# - traefik.http.routers.whoami-ssl.rule=Host(`whoami.${DOMAIN}`)
|
|
# - traefik.http.routers.whoami-ssl.entryPoints=websecure
|
|
# - traefik.http.routers.whoami-ssl.tls=true
|
|
# - traefik.http.routers.whoami-ssl.service=whoami
|
|
# - traefik.http.routers.whoami-ssl.tls.certresolver=le
|
|
networks:
|
|
traefik_net:
|
|
|
|
# EXEMPLE APP (SUBDOMAIN)
|
|
app:
|
|
image: repository/image:tag
|
|
container_name: app
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.app.rule=Host(`${APP}.${DOMAIN}`)"
|
|
- "traefik.http.routers.app.entrypoints=web"
|
|
|
|
# HTTPS
|
|
# - traefik.http.routers.app-ssl.rule=Host(`${APP}.${DOMAIN}`)
|
|
# - traefik.http.routers.app-ssl.entryPoints=websecure
|
|
# - traefik.http.routers.app-ssl.tls=true
|
|
# - traefik.http.routers.app-ssl.service=app
|
|
# - traefik.http.routers.app-ssl.tls.certresolver=le
|
|
networks:
|
|
traefik_net:
|
|
|
|
networks:
|
|
traefik_net: |