Using dynamic.yml to point to internal services not on docker

I've been using Traefik for a long time to access external services as well as internal only (ie. homepage.lan, dozzle.lan, etc)

I'm trying to add some *.lan to some services I run internally that are not in docker but am having a heck of a time.

Here is my config and I also added pbs.lan/pbs IP to my AdGuardHome DNS rewrite.

http:
  routers:
    pbs:
      entrypoints:
        - http
        - https
      rule: Host(`pbs.lan`)
      middlewares: pbs-https-redirect
      service: pbs

  services:
    pbs:
      loadBalancer:
        servers:
          - url: https://192.168.X.X:8007

  middlewares:
    my-geoblock:
      plugin:
        geoblock:
          allowLocalRequests: "true"
          allowUnknownCountries: "false"
          api: https://get.geojs.io/v1/ip/country/{ip}
          apiTimeoutMs: "150"
          cacheSize: "15"
          countries: US
          forceMonthlyUpdate: "true"
          logAllowedRequests: "true"
          logApiRequests: "true"
          logLocalRequests: "false"
          unknownCountryApiResponse: nil
    my-cloudflarewarp:
      plugin:
        cloudflarewarp:
          disableDefault: "false"
    pbs-https-redirect:
      redirectscheme:
        scheme: https

What the heck is the issue? :wink:

Are you using providers.file in static config to load the dynamic config file?

Sorry, let out some details. Yes, using traefik.yml to call on the dynamic_conf.yml. I use labels for all of my docker containers.

When I try to go to pbs.lan I get a 404 Page Not found message.

log:
  level: ERROR
  filePath: /var/log/traefik/traefik.log

entryPoints:
  http:
    address: :80
    transport:
      respondingTimeouts:
        readTimeout: 0
  https:
    address: :443
#    http:
#      tls:
#        certResolver: gintechinc
    transport:
      respondingTimeouts:
        readTimeout: 0
    forwardedHeaders:
      trustedIPs:
        - 173.245.48.0/20
        - 103.21.244.0/22
        - 103.22.200.0/22
        - 103.31.4.0/22
        - 141.101.64.0/18
        - 108.162.192.0/18
        - 190.93.240.0/20
        - 188.114.96.0/20
        - 197.234.240.0/22
        - 198.41.128.0/17
        - 162.158.0.0/15
        - 104.16.0.0/13
        - 104.24.0.0/14
        - 172.64.0.0/13
        - 131.0.72.0/22
  traefik:
    address: :8090

providers:
  docker:
    exposedByDefault: false
    endpoint: unix:///var/run/docker.sock
  file:
    filename: /dynamic_conf.yml

accessLog:
  filePath: /var/log/traefik/access.log
  fields:
    defaultMode: keep
    names:
      StartUTC: drop
  filters:
    statusCodes:
      - 400-499

api:
  dashboard: true
  insecure: true

certificatesResolvers:
  domainname:
    acme:
      email: email@mydomain
      storage: acme.json
      httpChallenge:
        entryPoint: http

experimental:
  plugins:
    geoblock:
      moduleName: "github.com/PascalMinder/geoblock"
      version: "v0.2.8"
    cloudflarewarp:
      moduleName: "github.com/BetterCorp/cloudflarewarp"
      version: "v1.3.3"
#    bouncer:
#      moduleName: "github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin"
#      version: "v1.3.3"

Enable and check Traefik debug log and Traefik access log in JSON format.

You could also enable and check Traefik dashboard for some infos.