Decypharr doesn't work when url_base is set
Is there an existing issue for this?
- [x] I have searched the existing open and closed issues
Current Behavior
When url_base is set:
/app $ cat config.json
{
"url_base": "/decypharr",
"port": "8282",
"log_level": "trace",
....
I can't load decypharr's UI and receive 404 (I used both reverse proxy and direct pod connection):
kubectl exec -n media curl -- curl -v http://decypharr:8282/decypharr/
...
> GET /decypharr/ HTTP/1.1
> Host: decypharr:8282
> User-Agent: curl/8.14.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 404 Not Found
< Content-Type: text/plain; charset=utf-8
< X-Content-Type-Options: nosniff
< Date: Tue, 04 Nov 2025 05:59:17 GMT
< Content-Length: 19
<
{ [19 bytes data]
100 19 100 19 0 0 27900 0 --:--:-- --:--:-- --:--:-- 19000
* Connection #0 to host decypharr left intact
404 page not found
Webdav URL works, but I receive web page instead of actual webdav (note CSS):
kubectl exec -n media curl -- curl -v http://decypharr:8282/decypharr/webdav/realdebrid
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Host decypharr:8282 was resolved.
* IPv6: (none)
* IPv4: 10.43.14.124
* Trying 10.43.14.124:8282...
* Connected to decypharr (10.43.14.124) port 8282
* using HTTP/1.x
> GET /decypharr/webdav/realdebrid HTTP/1.1
> Host: decypharr:8282
> User-Agent: curl/8.14.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 200 OK
< Access-Control-Allow-Headers: Depth, Content-Type, Authorization
< Access-Control-Allow-Methods: OPTIONS, PROPFIND, GET, HEAD, POST, PUT, DELETE, MKCOL, PROPPATCH, COPY, MOVE, LOCK, UNLOCK
< Access-Control-Allow-Origin: *
< Allow: OPTIONS, PROPFIND, GET, HEAD, POST, PUT, DELETE, MKCOL, PROPPATCH, COPY, MOVE, LOCK, UNLOCK
< Content-Type: text/html; charset=utf-8
< Dav: 1, 2
< Date: Tue, 04 Nov 2025 06:01:14 GMT
< Transfer-Encoding: chunked
<
{ [3640 bytes data]
100 5341 0 5341 0 0 4033k 0 --:--:-- --:--:-- --:--:-- 5215k
* Connection #0 to host decypharr left intact
<!DOCTYPE html>
<html lang="">
<head>
<title>Index of /decypharr/webdav/realdebrid</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
margin: 0 auto;
padding: 20px;
}
....
Expected Behavior
WebUI works with url_base set
Steps To Reproduce
I use latest image v1.1.6-stable
Environment
k3s kubernetes
What branch are you running?
Main/Latest
Trace Logs? Not Optional
~/kube/cue> kubectl logs -n media decypharr-0
Running as non-root user 1001:1001 with umask 022
id: unknown ID 1001
+-------------------------------------------------------+
| |
| ╔╦╗╔═╗╔═╗╦ ╦╔═╗╦ ╦╔═╗╦═╗╦═╗ |
| ║║║╣ ║ └┬┘╠═╝╠═╣╠═╣╠╦╝╠╦╝ (v1.1.6-stable) |
| ═╩╝╚═╝╚═╝ ┴ ╩ ╩ ╩╩ ╩╩╚═╩╚═ |
| |
+-------------------------------------------------------+
| Log Level: trace |
+-------------------------------------------------------+
2025-11-04 15:42:13 | INFO | [realdebrid] Debrid Service started with WebDAV
2025-11-04 15:42:13 | DEBUG | [decypharr] Started debrid worker
2025-11-04 15:42:13 | INFO | [http] Starting server on :8282/decypharr/
2025-11-04 15:42:13 | TRACE | [decypharr] Slots tracking job scheduled for every 30s
2025-11-04 15:42:13 | DEBUG | [decypharr] Store worker started
2025-11-04 15:42:13 | DEBUG | [decypharr] Started store worker
2025-11-04 15:42:13 | INFO | [repair] Repair job scheduled every 12h
2025-11-04 15:42:13 | DEBUG | [realdebrid-webdav] Download link refresh job scheduled for every 40m
2025-11-04 15:42:13 | DEBUG | [realdebrid-webdav] Torrent refresh job scheduled for every 15s
2025-11-04 15:42:13 | DEBUG | [realdebrid-webdav] Link reset job scheduled for every midnight, CET
2025-11-04 15:42:13 | DEBUG | [decypharr] Started debrid cache worker for realdebrid
2025-11-04 15:42:13 | INFO | [realdebrid-webdav] Started indexing...
2025-11-04 15:42:14 | INFO | [realdebrid-webdav] 495 torrents found from realdebrid
2025-11-04 15:42:14 | INFO | [realdebrid-webdav] Loaded 481 torrents from cache
2025-11-04 15:42:14 | INFO | [realdebrid-webdav] Indexing complete, 481 torrents loaded
2025-11-04 15:42:14 | INFO | [realdebrid-webdav] realdebrid WebDav server running at :8282/decypharr/webdav/realdebrid/
2025-11-04 15:42:14 | WARN | [realdebrid-webdav] Mounting is disabled for realdebrid
2025-11-04 15:42:15 | DEBUG | [realdebrid-webdav] Refreshed download links
2025-11-04 15:42:23 | DEBUG | [decypharr] Started Arr worker
Trace Logs have been provided as applicable
- [x] I have read and followed the steps in the documentation link and provided the required trace logs - the logs contain
trace- that are relevant and show this issue.
Btw, absolute urls work, for example
curl -v -u XXX:XXX https://XXXX.net/decypharr/assets/css/styles.css
{ [5 bytes data]
/*!
* Bootstrap Icons v1.11.2 (https://icons.getbootstrap.com/)
* Copyright 2019-2023 The Bootstrap Authors
*
Also for me the UI is totally broken as the styles can't be loaded. Actually all assets are not loading
Refused to apply style from 'http://localhost:8282/decypharr/assets/css/styles.css' because its MIME type ('text/plain') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
Also for me the UI is totally broken as the styles can't be loaded. Actually all assets are not loading
Refused to apply style from 'http://localhost:8282/decypharr/assets/css/styles.css' because its MIME type ('text/plain') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
Are you on kubernetes too?
Nope, on windows and trying to access it on a subfolder under organizr
Looks like the url_base functionality broke with the release of v1.1.0. Between v1.1.0 and v.1.1.6 the server does respond with content, but all styling is broken. As of v1.1.6 the server just throws a 404.