Docker Traefik Setup


This is my basic traefik setup for docker. Create the file and compose up the docker-compose and done. You can add let's encrypt if need be, or use custom certs.

Here's the docker-compose.yml:

networks:
  ingress:
      name: ingress
volumes:
  traefik-letsencrypt:

services:
  reverse-proxy:
    image: traefik:v3
    # environment:
    # If needed: - INFOMANIAK_ACCESS_TOKEN=TOKEN
    command: 
    - "--api.insecure=false"
    - "--api.dashboard=false"
    - "--providers.docker"

    # Public Endpoint
    - "--entrypoints.web-http.address=:1080"
    - "--entrypoints.web-http.http.redirections.entrypoint.to=:443"
    - "--entrypoints.web-http.http.redirections.entrypoint.scheme=https"
    - "--entrypoints.web.address=:1443"

    # Allow proxying to self signed certs
    - "--serverstransport.insecureskipverify=true"

    # Custom Certs
    # - "--providers.file.filename=/etc/traefik/dynamic.yaml"

    # Letsencrypt Config
    # - "--certificatesresolvers.le.acme.dnschallenge.provider=infomaniak"
    # - "--certificatesresolvers.le.acme.dnschallenge.delaybeforecheck=0"

    labels:
    - "traefik.enable=false"

    networks:
      - ingress
      - default
    ports:
      - "80:1080"
      - "443:1443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - traefik-letsencrypt:/letsencrypt"
      # - ./configuration:/etc/traefik
      # - ./certs:/c

If you need custom certs, put the configuration file inside ./configuration and the certs in ./certs. In configuration place the dynamic.yaml like this: (!use yaml not yml)

tls:
  options:
    default:
      sniStrict: false
  certificates:
    - certFile: /certs/fullchain.pem
      keyFile: /certs/key.pem
  stores:
    default:
      defaultCertificate:
        certFile: /certs/fullchain.pem
        keyFile: /certs/key.pem
serversTransport:
  insecureSkipVerify: true

Now to use it:Block Field

Previous Next