version: '3'
services:
# requires $PWD/conf/traefik.yml and $PWD/conf/acme.json
# $PWD/conf/acme.json must be an empty file with 600 perms
traefik:
image: traefik:v2.1
container_name: traefik
restart: unless-stopped
security_opt:
- no-new-privileges:true
ports:
- 80:80
- 443:443
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- $PWD/conf/traefik.yml:/traefik.yml:ro
- $PWD/conf/acme.json:/acme.json
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.entrypoints=http"
- "traefik.http.middlewares.traefik-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.traefik.middlewares=traefik-https-redirect"
- "traefik.http.routers.traefik-secure.entrypoints=https"
- "traefik.http.routers.traefik-secure.tls=true"
- "traefik.http.routers.traefik-secure.tls.certresolver=http"
- "traefik.http.routers.traefik-secure.service=api@internal"
- "traefik.http.routers.traefik-secure.rule=Host(`traefik.c.uy`)"
- "traefik.http.routers.traefik.rule=Host(`traefik.c.uy`)"
app:
image: nginx:alpine
expose:
- 80
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.r-app.entrypoints=http"
- "traefik.http.routers.r-app.rule=Host(`r.c.uy`)"
- "traefik.http.middlewares.r-app-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.r-app.middlewares=r-app-https-redirect"
- "traefik.http.routers.r-app-secure.entrypoints=https"
- "traefik.http.routers.r-app-secure.rule=Host(`r.c.uy`)"
- "traefik.http.routers.r-app-secure.tls=true"
- "traefik.http.routers.r-app-secure.tls.certresolver=http"
- "traefik.http.routers.r-app-secure.service=r-app"
- "traefik.http.services.r-app.loadbalancer.server.port=80"
----
traefik.yml
----
#debug: "true"
#logLevel: "DEBUG"
api:
dashboard: true
entryPoints:
http:
address: ":80"
https:
address: ":443"
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
certificatesResolvers:
http:
acme:
email: [email protected]
storage: acme.json
httpChallenge:
entryPoint: http
Comments