Overseerr Reverse Proxy Setup

1. Caddy version (caddy version):

v2.5.1 h1:bAWwslD1jNeCzDa+jDCNwb8M3UJ2tPa8UZFFzPVmGKs=

2. How I run Caddy:

I am running on Windows 11 (caddy.exe) as a service.

a. System environment:

OS: Windows 11

d. My complete Caddyfile or JSON config:

overseerrnz.example.net  {
        handle_path /overseerr*  {
            reverse_proxy localhost:5055  

3. The problem I’m having:

The Issue I am facing is that I am not able to access the reverse proxy version of Overseerr webpage. As per the caddy file above and reading another forum here, the

I have overseer running on docker at localhost:5055
Overseerr doesn’t support configuring the base_url and hence I cannot simply use reverse_proxy /overseerr/* localhost:5055

handle_path seems to strip the /overseerr in the request properly as the page is redirected to login, but the problem is that it is being redirected to https://overseerr.example.net/login instead of https://overseerr.example.net/overseerr/login. I get a blank page.

4. Error messages and/or full log output:

C:\Caddy>curl -v https://overseerrnz.example.net/overseerr

  • Trying my ip address:443…
  • Connected to overseerrnz.example.net (my ip address port 443 (#0)
  • schannel: disabled automatic use of client certificate
  • schannel: ALPN, offering http/1.1
  • schannel: ALPN, server accepted to use http/1.1

GET /overseerr HTTP/1.1
Host: overseerrnz.example.net
User-Agent: curl/7.79.1
Accept: /

  • Mark bundle as not supporting multiuse
    < HTTP/1.1 307 Temporary Redirect
    < Date: Fri, 17 Jun 2022 12:08:28 GMT
    < Location: /login
    < Server: Caddy
    < Set-Cookie: _csrf=hbmyGqqiebYrInGPLhBdWu7F; Path=/; HttpOnly; Secure; SameSite=Strict
    < Set-Cookie: XSRF-TOKEN=qmedYK4k-4eS1KhIM8wxnERPQuiLjNZlkNgE; Path=/; Secure; SameSite=Strict
    < X-Powered-By: Express
    < Transfer-Encoding: chunked
  • Connection #0 to host overseerrnz.example.net left intact

5. What I already tried:

Followed the post below hoping that using a subdomain would resolve the issue.

6. Links to relevant resources:

Then don’t proxy under a subpath.

overseerrnz.example.net {
	reverse_proxy localhost:5055

It’s best to use a subdomain for each service you’re running.

I am still new to caddy and learning it.

How would I go on about setting subdomain in this scenario?

I’m confused. In overseerrnz.example.net, overseerrnz is your subdomain. You’re already using a subdomain.

It would help if you didn’t redact your domain name by using example.net. That only makes it harder for us to help here.

Apologies for the confusion.

My subdomain that I have from noip is overseerrnz.ddns.net

I read on the overseerr wiki that I need to use subdomain configuration.

Are you planning to run other services with this domain?

If so, then you can use a sub-subdomain like somethingelse.overseerrnz.ddns.net

You just need to make sure your DNS is configured to point *.overseerrnz.ddns.net to your IP address as well (I think DDNS.net does this automatically though), and then configure Caddy with additional site blocks for each service.

I have other services setup already which are working great.
Only struggling with Overseerr.

Like you meentioned, No-ip is registering the IP address for overseerr.ddns.net registering correctly.
Just not sure how/what to include for subdomain configuration in the Caddyfile as per the above linked Overseerr document.

See below for the complete Caddyfile

email my email@address

samuraiwanderer.ddns.net {
encode gzip
log {
output file C:\caddy\logs\access.log {
roll true # Rotate logs, enabled by default
roll_size_mb 5 # Set max size 5 MB
roll_gzip true # Whether to compress rolled files
roll_local_time true # Use localhost time
roll_keep 2 # Keep at most 2 log files
roll_keep_days 7 # Keep log files for 7 days
reverse_proxy /radarr* localhost:7878
reverse_proxy /sonarr* localhost:8989
reverse_proxy /prowlarr* localhost:9696
reverse_proxy /tautulli* localhost:8181

handle_path /qbittorrent* {
    reverse_proxy {
	header_up Host
	header_up -Origin
	header_up -Referer


overseerrnz.ddns.net {
handle_path /overseerr* {
reverse_proxy localhost:5055 {
header_up Host localhost:5055
header_up -Origin
header_up -Referer

Just do this, as I wrote above:

Don’t override the Host header, that doesn’t make sense.

Thank you so much.
That worked!

1 Like