Traefik setup routing rules help

https://lemmy.blahaj.zone/post/16461292

Traefik setup routing rules help - Blåhaj Lemmy

cross-posted from: https://lemmy.blahaj.zone/post/16452222 [https://lemmy.blahaj.zone/post/16452222] > Hello friends, I’ve been pulling my hair out trying to figure out how to get my service to properly play well with traefik. > > My service is reachable at <host>/dnd-notes/page, but the service needs to fetch additional resources and fails to do so. > > IE: user navigates to <host>/dnd-notes/foobar > > foobar loads. > foobar fetches <host>/.client/main.css > foobar fails to find this resource. > > Here is my static configuration: > > ## traefik-static.yml > providers: > docker: > exposedByDefault: false > > api: > insecure: true > dashboard: true > > entryPoints: > web: > address: :80 > websecure: > address: :443 > > log: > level: DEBUG > > > Here is my compose: > > services: > traefik: > image: "traefik:latest" > container_name: "traefik" > ports: > - "80:80" > - "8080:8080" > volumes: > - "/var/run/docker.sock:/var/run/docker.sock:ro" > - "./traefik/traefik.yaml:/etc/traefik/traefik.yaml" > > silverbullet: > image: zefhemel/silverbullet > container_name: "dnd-notes" > volumes: > - './dnd-notes/space:/space' > labels: > - "traefik.enable=true" > - "traefik.http.routers.dndnotes.rule=PathPrefix(`/dnd-notes/`)" > - "traefik.http.routers.dndnotes.service=dndnotes" > - "traefik.http.routers.dndnotes.entrypoints=web" > - "traefik.http.routers.dndnotes.middlewares=dndnotes_stripprefix" > - "traefik.http.services.dndnotes.loadbalancer.server.port=3000" > - "traefik.http.middlewares.dndnotes_stripprefix.stripprefix.prefixes=/dnd-notes" >

Unfortunately this is not a Traefik issue but a Silverbullet issue. Essentially, the web server doesn’t support a subpath and instead assumes that it is at the root - see github.com/silverbulletmd/silverbullet/…/794 for details.

You can try hosting it from a different subdomain or port instead.

Support for base_url? · Issue #794 · silverbulletmd/silverbullet

Is it possible to deploy SilverBullet not on root path but using a base_url? For example not on "mydomain.com" but on "mydomain.com/silverbullet/"?

GitHub

Thank you, it probably would have taken me a while to figure that out.

To use subdomains on my internal network, I will need my own dns service correct?

<subdomain>.<hostname> will not resolve and neither will <subdomain>.<lan-ip>

I could use a different port, but then I’m not really using the reverse proxy

You need a domain name that will resolve to the IP address of the machine running the server. It doesn’t need to be your own DNS server. If you already have a domain name, you can just add an A record that points to the IP in your local network.