What Jellyseerr Actually Does
Managing a self-hosted media server is straightforward until other people start using it. The moment you share Plex or Jellyfin access with family or friends, you inherit a steady stream of informal requests – texts, emails, the occasional sticky note. Jellyseerr solves this by giving your users a clean, dedicated interface to browse and request movies or TV shows, which then routes those requests directly into your download automation stack.
Jellyseerr is a fork of Overseerr, built specifically for Jellyfin and Emby users rather than Plex. It connects to your media server for library awareness, pulls metadata from The Movie Database (TMDB), and integrates with Radarr and Sonarr to actually handle the downloads. Once configured, users can log in, search for content, submit a request, and the rest happens without you touching anything.

What You Need Before Starting
Jellyseerr does not work as a standalone tool. It requires a running Jellyfin or Emby instance, and at minimum one of either Radarr (for movies) or Sonarr (for TV series) already set up and operational. If you also run a VPN on your server to protect download traffic, make sure routing is configured before adding more services to the stack – a misconfigured network is harder to debug once Jellyseerr is in the mix.
Docker is the recommended installation method and the one this guide follows. You will need Docker and Docker Compose installed on your host machine, which can be a home server, a NAS, a VPS, or a Raspberry Pi with enough RAM to spare. Jellyseerr itself is lightweight – it does not transcode or store media – so resource requirements are minimal.
Installing Jellyseerr with Docker Compose
Create a directory for Jellyseerr and inside it create a docker-compose.yml file. The configuration below covers the essentials:
version: ‘3.8’
services:
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
environment:
– LOG_LEVEL=debug
– TZ=America/New_York
ports:
– 5055:5055
volumes:
– /your/path/jellyseerr/config:/app/config
restart: unless-stopped
Replace /your/path/jellyseerr/config with the actual path on your host where you want configuration data stored. Set your correct timezone using the standard TZ database format. Once the file is saved, run docker compose up -d from that directory. Docker will pull the image and start the container. Give it thirty seconds, then navigate to http://your-server-ip:5055 in a browser.
You should land on the Jellyseerr setup wizard. If the page does not load, check that port 5055 is not blocked by a firewall rule on your host. Run docker logs jellyseerr to confirm the container started without errors before troubleshooting further.

Running the Setup Wizard
The first screen asks you to sign in with your Jellyfin account. Enter the URL of your Jellyfin instance – this can be a local address if both services are on the same network – along with your Jellyfin username and password. Jellyseerr will verify the connection and pull your existing libraries.
After Jellyfin authentication, you will be prompted to sync your libraries. Select the movie and TV show libraries you want Jellyseerr to track. This sync lets Jellyseerr know what you already own, so users will see a “Available” badge instead of a request button on content that is already in your library.
Next comes the Radarr and Sonarr configuration. For each service, you will enter the host address, port, and API key. The API key for both Radarr and Sonarr is found under Settings – General in their respective web interfaces. You will also configure default quality profiles and root folders – these tell Jellyseerr where to tell Radarr or Sonarr to save the files and at what quality level to grab them. You can define multiple Radarr or Sonarr instances if you run separate setups for different content categories.
User Management and Access Control
Once the wizard completes, Jellyseerr is functional – but by default, anyone who can reach the login page can request access. Head to Settings – Users to manage this. You can enable local user accounts or require all users to authenticate through Jellyfin. The Jellyfin login method is cleaner for most setups because your users already have those credentials and you avoid managing a second set of passwords.
Permissions in Jellyseerr are granular. You can set whether users can auto-approve their own requests, how many requests they are allowed per week, whether they can request 4K content, and whether they can see other users’ requests. A useful middle ground is to give trusted users auto-approve on standard quality requests while routing 4K requests to admin review, since 4K grabs can be significantly larger files.

Notifications are worth configuring before you hand the system over to users. Jellyseerr supports email, Discord webhooks, Slack, Telegram, Pushover, and a few others under Settings – Notifications. At minimum, set up a notification for request approval and download completion so users know their request was received and when the content is ready. Without this feedback loop, users will assume something broke and message you directly – which defeats the purpose of having a request system at all.





