Skip to content

Instantly share code, notes, and snippets.

@maen08
Forked from pyrou/docker-compose.yml
Created October 15, 2024 13:55
Show Gist options
  • Save maen08/9bfa071b3bb20cb0ec9b2bcffd7f217d to your computer and use it in GitHub Desktop.
Save maen08/9bfa071b3bb20cb0ec9b2bcffd7f217d to your computer and use it in GitHub Desktop.

Revisions

  1. @pyrou pyrou revised this gist Mar 13, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion docker-compose.yml
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    version: '3'
    services:

    traefik:
    restart: unless-stopped
    image: traefik:v2.0.2
  2. @pyrou pyrou revised this gist Dec 18, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion traefik.yml
    Original file line number Diff line number Diff line change
    @@ -17,4 +17,4 @@ providers:
    endpoint: unix:///var/run/docker.sock
    watch: true
    exposedByDefault: true
    defaultRule: "HostRegexp(`{{ index .Labels \"com.docker.compose.service\"}}.{ip:.*}.{x|n}ip.io`,`{{ index .Labels \"com.docker.compose.service\"}}.traefik.me`,`{{ index .Labels \"com.docker.compose.service\"}}-{dashed-ip:.*}.traefik.me`)"
    defaultRule: "HostRegexp(`{{ index .Labels \"com.docker.compose.service\"}}.traefik.me`,`{{ index .Labels \"com.docker.compose.service\"}}-{dashed-ip:.*}.traefik.me`)"
  3. @pyrou pyrou revised this gist Nov 29, 2019. No changes.
  4. @pyrou pyrou revised this gist Nov 29, 2019. No changes.
  5. @pyrou pyrou created this gist Nov 29, 2019.
    38 changes: 38 additions & 0 deletions docker-compose.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,38 @@
    services:

    traefik:
    restart: unless-stopped
    image: traefik:v2.0.2
    ports:
    - "80:80"
    - "443:443"
    labels:
    - "traefik.http.services.traefik.loadbalancer.server.port=8080"
    volumes:
    - ./traefik.yml:/etc/traefik/traefik.yml
    - ./tls.yml:/etc/traefik/tls.yml
    - /var/run/docker.sock:/var/run/docker.sock
    - certs:/etc/ssl/traefik
    app1:
    image: containous/whoami
    labels:
    - "traefik.http.routers.app1.rule=Host(`app1.traefik.me`)"
    - "traefik.http.routers.app1-tls.tls.domains[0].main=app1.traefik.me"
    - "traefik.http.routers.app1-tls.tls.domains[0].sans=app1-*.traefik.me"
    app2:
    image: containous/whoami
    labels:
    - "traefik.http.routers.app2.rule=Host(`app2.traefik.me`)"
    - "traefik.http.routers.app2-tls.tls.domains[0].main=app2.traefik.me"
    - "traefik.http.routers.app2-tls.tls.domains[0].sans=app2-*.traefik.me"

    reverse-proxy-https-helper:
    image: alpine
    command: sh -c "cd /etc/ssl/traefik
    && wget traefik.me/cert.pem -O cert.pem
    && wget traefik.me/privkey.pem -O privkey.pem"
    volumes:
    - certs:/etc/ssl/traefik

    volumes:
    certs:
    9 changes: 9 additions & 0 deletions tls.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    tls:
    stores:
    default:
    defaultCertificate:
    certFile: /etc/ssl/traefik/cert.pem
    keyFile: /etc/ssl/traefik/privkey.pem
    certificates:
    - certFile: /etc/ssl/traefik/cert.pem
    keyFile: /etc/ssl/traefik/privkey.pem
    20 changes: 20 additions & 0 deletions traefik.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    logLevel: INFO

    api:
    insecure: true
    dashboard: true

    entryPoints:
    http:
    address: ":80"
    https:
    address: ":443"

    providers:
    file:
    filename: /etc/traefik/tls.yml
    docker:
    endpoint: unix:///var/run/docker.sock
    watch: true
    exposedByDefault: true
    defaultRule: "HostRegexp(`{{ index .Labels \"com.docker.compose.service\"}}.{ip:.*}.{x|n}ip.io`,`{{ index .Labels \"com.docker.compose.service\"}}.traefik.me`,`{{ index .Labels \"com.docker.compose.service\"}}-{dashed-ip:.*}.traefik.me`)"