Originally created by @maLi9n on GitHub (Sep 23, 2025).
Originally assigned to: @oschwartz10612 on GitHub.
Path-based routing is not working for me. As an example, I set prefix to /jellyfin, website is reachable at https://jellyfin.homelab.com/ pointing to resource 192.168.0.5:8096 but when I visit https://jellyfin.homelab.com/jellyfin nothing comes up.
Originally created by @maLi9n on GitHub (Sep 23, 2025).
Originally assigned to: @oschwartz10612 on GitHub.
Path-based routing is not working for me. As an example, I set prefix to `/jellyfin`, website is reachable at `https://jellyfin.homelab.com/` pointing to resource `192.168.0.5:8096` but when I visit `https://jellyfin.homelab.com/jellyfin` nothing comes up.
It looks like Pangolin's Blueprints feature is missing the "stripprefix" feature that Traefik has. I often want to route a subpath (path prefix) without the underlying service being aware of it. E.g:
Without Pangolin actually stripping the prefix, this feature is a bit neutered. Was this an oversight? Since Pangolin is all Traefik in the background it shouldn't be too hard to implement, hopefully?
@sippeangelo commented on GitHub (Sep 23, 2025):
It looks like Pangolin's Blueprints feature is missing the "stripprefix" feature that Traefik has. I often want to route a subpath (path prefix) without the underlying service being aware of it. E.g:
```
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.example-api.rule=(Host(`example.com`) && PathPrefix(`/api`))
- traefik.http.middlewares.stripprefix-api.stripprefix.prefixes=/api
- traefik.http.routers.example-api.middlewares=stripprefix-api
```
Without Pangolin actually stripping the prefix, this feature is a bit neutered. Was this an oversight? Since Pangolin is all Traefik in the background it shouldn't be too hard to implement, hopefully?
Yeah we should add this. Pretty trivial. Will look into soon.
Thanks for implementing this in v1.11.0! It works great!
@sippeangelo commented on GitHub (Oct 31, 2025):
> Yeah we should add this. Pretty trivial. Will look into soon.
Thanks for implementing this in v1.11.0! It works great!
The strip prefix option works great when configured through the UI for me, but when configuring it through Docker labels it seems that you MUST set a rewritePath for it to work. The UI sets the value to an empty string, but that doesn't seem possible when using the labels, so therefore it breaks. Thankfully, setting rewritePath=/ seems to be equivalent.
This is how I configure my target in Docker labels:
- pangolin.proxy-resources.paperless.targets[0].method=http- pangolin.proxy-resources.paperless.targets[0].path=/paperless- pangolin.proxy-resources.paperless.targets[0].path-match=prefix- pangolin.proxy-resources.paperless.targets[0].rewrite-match=stripPrefix- pangolin.proxy-resources.paperless.targets[0].rewritePath=/# <-- If this is left out, it breaks!
@sippeangelo commented on GitHub (Nov 2, 2025):
The strip prefix option works great when configured through the UI for me, but when configuring it through Docker labels it seems that you MUST set a `rewritePath` for it to work. The UI sets the value to an empty string, but that doesn't seem possible when using the labels, so therefore it breaks. Thankfully, setting `rewritePath=/` seems to be equivalent.
Also these labels don't seem documented yet: https://docs.pangolin.net/manage/blueprints#target-configuration
This is how I configure my target in Docker labels:
```yaml
- pangolin.proxy-resources.paperless.targets[0].method=http
- pangolin.proxy-resources.paperless.targets[0].path=/paperless
- pangolin.proxy-resources.paperless.targets[0].path-match=prefix
- pangolin.proxy-resources.paperless.targets[0].rewrite-match=stripPrefix
- pangolin.proxy-resources.paperless.targets[0].rewritePath=/ # <-- If this is left out, it breaks!
```
@oschwartz10612 commented on GitHub (Nov 2, 2025):
@sippeangelo thanks for pointing this out! I have updated the docs and in c16e762fa4 I have made it so that the rewritePath is now rewrite-path and is backwards compatible with this old version. I have also made it so that the / is included by default.
@oschwartz10612 commented on GitHub (Nov 2, 2025):
@sippeangelo thanks for pointing this out! I have updated the docs and in c16e762fa43d4c87e12095f7482f75a4b9a1e5e9 I have made it so that the `rewritePath` is now `rewrite-path` and is backwards compatible with this old version. I have also made it so that the `/` is included by default.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @maLi9n on GitHub (Sep 23, 2025).
Originally assigned to: @oschwartz10612 on GitHub.
Path-based routing is not working for me. As an example, I set prefix to
/jellyfin, website is reachable athttps://jellyfin.homelab.com/pointing to resource192.168.0.5:8096but when I visithttps://jellyfin.homelab.com/jellyfinnothing comes up.@sippeangelo commented on GitHub (Sep 23, 2025):
It looks like Pangolin's Blueprints feature is missing the "stripprefix" feature that Traefik has. I often want to route a subpath (path prefix) without the underlying service being aware of it. E.g:
Without Pangolin actually stripping the prefix, this feature is a bit neutered. Was this an oversight? Since Pangolin is all Traefik in the background it shouldn't be too hard to implement, hopefully?
@oschwartz10612 commented on GitHub (Sep 23, 2025):
Yeah we should add this. Pretty trivial. Will look into soon.
@sippeangelo commented on GitHub (Oct 31, 2025):
Thanks for implementing this in v1.11.0! It works great!
@maLi9n commented on GitHub (Oct 31, 2025):
Still not working for me.
@sippeangelo commented on GitHub (Nov 2, 2025):
The strip prefix option works great when configured through the UI for me, but when configuring it through Docker labels it seems that you MUST set a
rewritePathfor it to work. The UI sets the value to an empty string, but that doesn't seem possible when using the labels, so therefore it breaks. Thankfully, settingrewritePath=/seems to be equivalent.Also these labels don't seem documented yet: https://docs.pangolin.net/manage/blueprints#target-configuration
This is how I configure my target in Docker labels:
@oschwartz10612 commented on GitHub (Nov 2, 2025):
@sippeangelo thanks for pointing this out! I have updated the docs and in
c16e762fa4I have made it so that therewritePathis nowrewrite-pathand is backwards compatible with this old version. I have also made it so that the/is included by default.