Autobrr - reverse proxy on lighttpd

Recently I’ve installed autobrr service following the instruction on the official website. What is strange, however, is the fact that I cannot set up a reverse proxy on lighttpd. In fact, I cannot even access the autobrr website through the local LAN computer - it only works via real vnc session.

It’s weird since all the other *arr services were configured in a similar manner and work flawlessly with a reverse proxy. Below I attach my lighttpd config

Required Information

G_DIETPI_VERSION_CORE=8
G_DIETPI_VERSION_SUB=24
G_DIETPI_VERSION_RC=1
G_GITBRANCH=‘master’
G_GITOWNER=‘MichaIng’

  • Distro version - buster
  • Kernel version | aarch64 GNU/Linux

Additional Information (if applicable)

  • Software title | autobrr
  • Was the software title installed freshly or updated/migrated? Fresh install
  • Can this issue be replicated on a fresh installation of DietPi? Yes

Extra details

That’s my config of the lighttpd 10-proxy.conf file that works with all the *arr services apart from autobrr

> $HTTP["url"] =~ "^/readarr" {
>     proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "8787" ) ) )
>     proxy.header = ( "upgrade" => "enable" )
> }
> $HTTP["url"] =~ "^/autobrr" {
>     proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "7474" ) ) )
>     proxy.header = ( "upgrade" => "enable" )
> }


I guess your software has been configured to listen to localhost only. Therefore it’s not reachable from local network. And did you configure base URL if using sub path on reverse proxy? Configuring autobrr | autobrr

Btw: you are really running Debian Buster? I highly recommend to update to Debian Bullseye or even better to Debian Bookworm as we will drop support on Buster with our first release in Jan 2024.

1 Like

I believe I did configure the config.toml file correctly. Here is the part of it:

#config.toml

# Hostname / IP

# Default: "localhost"

host = "127.0.0.1"

# Port

# Default: 7474

port = 7474

# Base url
# Set custom baseUrl eg /autobrr/ to serve in subdirectory.
# Not needed for subdomain, or by accessing with the :port directly.
#
# Optional
#
baseUrl = "/autobrr/"

Here is the status of the autobrr service:

● autobrr@root.service - autobrr service for root
   Loaded: loaded (/etc/systemd/system/autobrr@.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2023-12-10 22:36:08 GMT; 3min 46s ago
 Main PID: 7274 (autobrr)
    Tasks: 9 (limit: 4915)
   CGroup: /system.slice/system-autobrr.slice/autobrr@root.service
           └─7274 /usr/local/bin/autobrr --config=/home/root/.config/autobrr/

Dec 10 22:36:08 DietPi autobrr[7274]: {"level":"trace","module":"indexer","time":"2023-12-10T22:36:08Z","message":"parsing: definitions/torznab_generic.yaml"}
Dec 10 22:36:08 DietPi autobrr[7274]: {"level":"trace","module":"indexer","time":"2023-12-10T22:36:08Z","message":"parsing: definitions/trancetraffic.yaml"}
Dec 10 22:36:08 DietPi autobrr[7274]: {"level":"trace","module":"indexer","time":"2023-12-10T22:36:08Z","message":"parsing: definitions/tsc.yaml"}
Dec 10 22:36:08 DietPi autobrr[7274]: {"level":"trace","module":"indexer","time":"2023-12-10T22:36:08Z","message":"parsing: definitions/uhdbits.yaml"}
Dec 10 22:36:08 DietPi autobrr[7274]: {"level":"trace","module":"indexer","time":"2023-12-10T22:36:08Z","message":"parsing: definitions/xspeeds.yaml"}
Dec 10 22:36:08 DietPi autobrr[7274]: {"level":"debug","module":"indexer","time":"2023-12-10T22:36:08Z","message":"Loaded 78 indexer definitions"}
Dec 10 22:36:08 DietPi autobrr[7274]: {"level":"info","module":"indexer","time":"2023-12-10T22:36:08Z","message":"Loaded 0 indexers"}
Dec 10 22:36:08 DietPi autobrr[7274]: {"level":"debug","module":"scheduler","time":"2023-12-10T22:36:08Z","message":"scheduler.AddJob: job successfully added: feed-cache-cleanup id 1"}
Dec 10 22:36:09 DietPi autobrr[7274]: {"level":"trace","module":"update","time":"2023-12-10T22:36:09Z","message":"checking for updates..."}
Dec 10 22:36:13 DietPi autobrr[7274]: {"level":"debug","module":"scheduler","time":"2023-12-10T22:36:13Z","message":"scheduler.ScheduleJob: job successfully added: app-check-updates id 2"

With the above and the proxy settings from the first post still I cannot access autobrr anyway apart from the real vnc localhost session…

BTW Thanks for the suggestion. Will do once I have some free time to set it all up from scratch once again :slight_smile:

server.modules += ("mod_proxy")
$HTTP["url"] =^ "/autobrr/" {
    proxy.server = ( "" => (( "host" => "127.0.0.1", "port" => 7474 )))
    proxy.header = ( "upgrade" => "enable", "map-urlpath" => ("/autobrr" => "") )
}

proxy.header is documented in lighttpd mod_proxy
The "map-urlpath" might or might not be needed since you have set baseUrl = "/autobrr/" in autobrr config.toml

On the front page of lighttpd wiki is a link to Configuration: Debug Variables. You can also use strace to see that lighttpd is proxying requests back to autobrr on localhost port 7474.

Thank you, your code worked like a charm :slight_smile: