Docker
This is the recommended method for most users. Details on how to install Docker can be found on the official Docker website.
Unix (Linux, macOS)
Be sure to replace /path/to/appdata/config
in the below examples with a valid host directory path. If this volume mount is not configured correctly, your Jellyseerr settings/data will not be persisted when the container is recreated (e.g., when updating the image or rebooting your machine).
The TZ
environment variable value should also be set to the TZ database name of your time zone!
- Docker CLI
- Docker Compose
For details on the Docker CLI, please review the official docker run
documentation.
Installation:
docker run -d \
--name jellyseerr \
-e LOG_LEVEL=debug \
-e TZ=Asia/Tashkent \
-e PORT=5055 `#optional` \
-p 5055:5055 \
-v /path/to/appdata/config:/app/config \
--restart unless-stopped \
fallenbagel/jellyseerr
If you are using emby, make sure to set the JELLYFIN_TYPE
environment variable to emby
.
-e JELLYFIN_TYPE=emby
To run the container as a specific user/group, you may optionally add --user=[ user | user:group | uid | uid:gid | user:gid | uid:group ]
to the above command.
Updating:
Stop and remove the existing container:
docker stop jellyseerr && docker rm Jellyseerr
Pull the latest image:
docker pull fallenbagel/jellyseerr
Finally, run the container with the same parameters originally used to create the container:
docker run -d ...
You may alternatively use a third-party updating mechanism, such as Watchtower or Ouroboros, to keep Jellyseerr up-to-date automatically.
You could also use diun to receive notifications when a new image is available.
For details on how to use Docker Compose, please review the official Compose documentation.
Installation:
Define the jellyseerr
service in your compose.yaml
as follows:
---
services:
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
environment:
- LOG_LEVEL=debug
- TZ=Asia/Tashkent
- PORT=5055 #optional
ports:
- 5055:5055
volumes:
- /path/to/appdata/config:/app/config
restart: unless-stopped
If you are using emby, make sure to set the JELLYFIN_TYPE
environment variable to emby
.
Then, start all services defined in the Compose file:
docker compose up -d
Updating:
Pull the latest image:
docker compose pull jellyseerr
Then, restart all services defined in the Compose file:
docker compose up -d
You may alternatively use a third-party mechanism like dockge to manage your docker compose files.
Unraid
- Ensure you have the Community Applications plugin installed.
- Inside the Community Applications app store, search for Jellyseerr.
- Click the Install Button.
- On the following Add Container screen, make changes to the Host Port and Host Path 1 (Appdata) as needed.
- If you want to use emby, make sure to set the
JELLYFIN_TYPE
environment variable toemby
. Otherwise, remove the variable. - Click apply and access "Jellyseerr" at your
<ServerIP:HostPort>
in a web browser.
Windows
Please refer to the Docker Desktop for Windows user manual for details on how to install Docker on Windows. There is no need to install a Linux distro if using named volumes like in the example below.
WSL2 will need to be installed to prevent DB corruption! Please see the Docker Desktop WSL 2 backend documentation for instructions on how to enable WSL2. The commands below will only work with WSL2 installed!
First, create a volume to store the configuration data for Jellyseerr using using either the Docker CLI:
docker volume create jellyseerr-data
or the Docker Desktop app:
- Open the Docker Desktop app
- Head to the Volumes tab
- Click on the "New Volume" button near the top right
- Enter a name for the volume (example:
jellyseerr-data
) and hit "Create"
Then, create and start the Jellyseerr container:
- Docker CLI
- Docker Compose
docker run -d --name jellyseerr -e LOG_LEVEL=debug -e TZ=Asia/Tashkent -p 5055:5055 -v "jellyseerr-data:/app/config" --restart unless-stopped fallenbagel/jellyseerr:latest
---
services:
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
environment:
- LOG_LEVEL=debug
- TZ=Asia/Tashkent
ports:
- 5055:5055
volumes:
- jellyseerr-data:/app/config
restart: unless-stopped
volumes:
jellyseerr-data:
external: true
If you are using a named volume, then you can safely ignore the warning about the /app/config
folder being incorrectly mounted.
If you are using emby, make sure to set the JELLYFIN_TYPE
environment variable to emby
.
To access the files inside the volume created above, navigate to \\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\jellyseerr-data\_data
using File Explorer.
Docker on Windows works differently than it does on Linux; it runs Docker inside of a stripped-down Linux VM. Volume mounts are exposed to Docker inside this VM via SMB mounts. While this is fine for media, it is unacceptable for the /app/config
directory because SMB does not support file locking. This will eventually corrupt your database, which can lead to slow behavior and crashes.
If you must run Docker on Windows, you should put the /app/config
directory mount inside the VM and not on the Windows host. (This also applies to other containers with SQLite databases.)
Named volumes, like in the example commands above, are automatically mounted inside the VM. Therefore the warning on the setup about the /app/config
folder being incorrectly mounted page should be ignored.