Deploying on Docker Desktop for Linux
This guide walks through running Weebarr on Linux using Docker Desktop.
If you are using standard Docker Engine instead of Docker Desktop, see Other Deployment Options.
What You Need First
Before starting, make sure you have:
- Docker Desktop for Linux installed and running
- a working Seerr instance if you plan to use Seerr
- a working Sonarr instance if you plan to use Sonarr Direct
- an API key for the backend you plan to use first
- a folder where Weebarr can save its config
The config folder is what keeps your settings, themes, auth setup, automation history, API key state, and request history between updates.
Image Source
You can pull Weebarr from either published registry:
ghcr.io/deepdaddyttv/weebarr:latestdeepdaddyttv/weebarr:latest
This guide uses GHCR in the example, but Docker Hub works as a drop-in replacement.
If you want to use Docker Desktop’s UI instead of Compose first, you can also go to Images, pull deepdaddyttv/weebarr:latest, and create the container from there.
Recommended Folder Layout
Create a folder like this:
~/docker/weebarr/
├── compose.yml
└── config/
Example Compose File
Create ~/docker/weebarr/compose.yml and paste this in:
services:
weebarr:
image: ghcr.io/deepdaddyttv/weebarr:latest
container_name: weebarr
environment:
TZ: UTC
WEEBARR_PUBLIC_URL: http://localhost:18080
SEERR_BASE_URL: http://seerr:5055
SEERR_API_KEY: change-me
SEERR_REQUEST_SEASONS: all
ports:
- "18080:8888"
volumes:
- ./config:/config
restart: unless-stopped
Change these values before starting:
TZ: your timezoneSEERR_BASE_URL: the URL Weebarr should use to reach SeerrSEERR_API_KEY: your Seerr API key
If you want Docker Hub instead of GHCR, swap the image line to:
image: deepdaddyttv/weebarr:latest
If you are testing locally, this is fine:
WEEBARR_PUBLIC_URL: http://localhost:18080
If you expose Weebarr through a domain later, change it to the public URL.
Start Weebarr
Run:
cd ~/docker/weebarr
docker compose up -d
Open:
http://localhost:18080
Then complete the first-run setup, continue to the request-backend step after auth, choose either Seerr or Sonarr Direct, and either save that backend or use Skip Setup if you want to finish it later in Settings.
If you choose Sonarr Direct, choose http or https, enter the Sonarr host and port (default 8989), then validate the API key so Weebarr can load the live folder and profile dropdowns before you save.
Important Linux Notes
Keep the config folder mounted
This line keeps your Weebarr data persistent:
volumes:
- ./config:/config
Do not remove it unless you are intentionally running a temporary test instance.
If Seerr is also in Docker
If Seerr is on the same Docker network, use its Docker service name instead of a host IP:
http://seerr:5055
Check folder permissions
Make sure Docker can write to the mounted config folder:
~/docker/weebarr/config
If Weebarr starts but cannot save settings, permissions are one of the first things to check.
Updating Weebarr
From the Weebarr folder, run:
docker compose pull
docker compose up -d
This updates the image while keeping the mounted config folder.
Backing Up Weebarr
Back up this folder:
~/docker/weebarr/config
That folder contains your saved Weebarr state.
Exposing Weebarr Publicly
If you use HTTPS, a reverse proxy, or a tunnel:
- set
WEEBARR_PUBLIC_URLto the real public URL - terminate TLS at the proxy or tunnel
- keep rate limiting and access protections enabled
- avoid exposing the raw container port directly when possible
Example:
https://weebarr.example.com