title: traefik + caddy > Gateway Timeout
body: <p>I try to use caddy server with traefik in a simple container. 
  Unfortunatly i get a <code>Gateway Timeout</code> error when i visite the domain. I can't understand if the error is due to traefik or my container.</p>
  
  <p>My docker-compose file:</p>
  
  <pre><code>version: '2'
  #
  # [ server stack ]
  #
  services:
      web:
          image: abiosoft/caddy
          container_name: caddy
          restart: unless-stopped
          networks:
              - caddy_network
          ports:
              - 2015:2015
          volumes:
              # app
              - ./localhost:/srv
              # configs
              - ./config/Caddyfile:/etc/Caddyfile
          labels:
              - "traefik.frontend.rule=Host:domain.com"
              - "traefik.port=2015"
              - "traefik.backend=domain.com"
              - "traefik.frontend.entryPoints=http,https"
              - "traefik.enable=true"
  #
  # [ networks definition ]
  #
  networks:
      caddy_network:
              driver: bridge
  </code></pre>
  
  <p>My caddy file:</p>
  
  <pre><code>0.0.0.0:2015
  browse
  gzip
  log stdout
  errors stderr
  </code></pre>
  
  <p>For information, the let's encrypt certificat is perfectly generate by traefik.</p>
  
  <p>Any idea? Could it be a problem with the port config?</p>
  
  <p>[edit]
  The traefik config:</p>
  
  <pre><code>################################################################
  # Global configuration
  ################################################################
  defaultEntryPoints = ["http", "https"]
  logLevel = "DEBUG"
  
  [entryPoints]
    [entryPoints.http]
    address = ":80"
      [entryPoints.http.redirect]
      entryPoint = "https"
    [entryPoints.https]
    address = ":443"
      [entryPoints.https.tls]
  
  [acme]
  email = "admin@domain.com"
  storageFile = "/etc/traefik/acme/acme.json"
  entryPoint = "https"
  OnHostRule = true
  onDemand = true
  
  [[acme.domains]]
    main = "domain.com"
    sans = ["docker.domain.com", "traefik.domain.com"] 
  
  ################################################################
  # Web configuration backend
  ################################################################
  
  [web]
  address = ":8080"
  
  # MD5
  [web.auth.basic]
  users = ["admin:xxx"]
  
  ################################################################
  # Docker configuration backend
  ################################################################
  
  [docker]
  endpoint = "unix:///var/run/docker.sock"
  domain = "traefik.domain.com"
  watch = true
  # Tous les conteneurs seront utilisables par Traefik
  # Pour qu'il ne le soit pas, il est nécessaire d'ajouter le label "traefik.enable=false" 
  # lors de la création du conteneur
  exposedbydefault = false
  </code></pre>
  
  <p>Thank you in advance for the help.</p>
  
  <p>jB</p>