-
-
Notifications
You must be signed in to change notification settings - Fork 7
Add Jellyfin as a commented-out Plex alternative #57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
2f93d1e
7a444e2
ad53930
e79db32
43a2ad9
7935fa8
e9bbb81
e2ade2d
a010344
7d8ca12
8e81a43
4876213
35f0e9c
65f022e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -13,6 +13,7 @@ | |
| [](https://github.com/joshdev8/AutoPlexx/issues) | ||
| [](https://docs.docker.com/compose/) | ||
| [](https://www.plex.tv/) | ||
| [](#using-jellyfin-instead-of-plex) | ||
|
|
||
| </div> | ||
|
|
||
|
|
@@ -24,11 +25,12 @@ A complete, opinionated [Plex Media Server](https://www.plex.tv/) stack delivere | |
| - **Pre-built Kometa config included** — IMDb Top 250 / Trakt / streaming-service collections, daily rotating playlists, and resolution/HDR overlays are ready to run, not a blank YAML you fill in over weeks. | ||
| - **Network-isolated by design** — four separate Docker networks split streaming, request flow, downloading, and monitoring so a misbehaving service can't talk to the rest. | ||
| - **Stream analytics in the box** — Tracearr ships built-in for concurrent-stream monitoring, geolocation, and account-sharing detection alongside Tautulli's usage reporting. | ||
| - **Not locked to Plex** — a ready-to-run [Jellyfin](https://jellyfin.org/) service ships commented out, so swapping the media server is uncommenting a block rather than rebuilding the stack. [What that costs you](#using-jellyfin-instead-of-plex) is documented up front. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) (v2+) | ||
| - A Plex account and a [claim token](https://www.plex.tv/claim) — generate this **immediately before** your first `docker compose up`; claim tokens expire roughly 4 minutes after they're issued | ||
| - A Plex account and a [claim token](https://www.plex.tv/claim) — generate this **immediately before** your first `docker compose up`; claim tokens expire roughly 4 minutes after they're issued. Not needed if you're [running Jellyfin instead](#using-jellyfin-instead-of-plex) | ||
| - Values for `DB_PASSWORD`, `JWT_SECRET`, and `COOKIE_SECRET` in `.env` — Tracearr refuses to start without them and will fail the whole stack's `up` command | ||
| - OpenVPN credentials from a [supported VPN provider](https://haugene.github.io/docker-transmission-openvpn/supported-providers/) (`OPENVPN_PROVIDER`, `OPENVPN_CONFIG`, `OPENVPN_USERNAME`, `OPENVPN_PASSWORD`) — Transmission tunnels all traffic through OpenVPN and won't start without them. See [Transmission VPN setup](#transmission-vpn-setup) for details | ||
|
|
||
|
|
@@ -134,9 +136,51 @@ Suggested captures: Plex web UI, Seerr discover page, Radarr/Sonarr libraries, T | |
| | Service | Description | Port | | ||
| |---------|-------------|------| | ||
| | [Plex](https://www.plex.tv/) | Central media server | `32400` (host network) | | ||
| | [Jellyfin](https://jellyfin.org/) | Open-source media server — optional drop-in *replacement* for Plex, shipped commented out | `8096` (host network) | | ||
|
|
||
| Pick one media server, not both — they'd index the same library twice. Plex is the | ||
| default and everything in the stack is wired for it; see [Using Jellyfin instead of | ||
| Plex](#using-jellyfin-instead-of-plex) below for the swap and what it costs you. | ||
|
|
||
| A ready-to-use [Kometa](https://kometa.wiki/) (Plex Meta Manager) configuration is included for automated collections and overlays, but Kometa itself is not part of `docker-compose.yml` — see [Kometa Configuration](#kometa-configuration) for how to run it. | ||
|
|
||
| ### Using Jellyfin instead of Plex | ||
|
|
||
| Plex has moved features behind Plex Pass over time. If you'd rather run | ||
| [Jellyfin](https://jellyfin.org/) — free and fully open-source, no paid tier — the | ||
| stack ships a ready-to-use Jellyfin service, commented out in `docker-compose.yml`. | ||
|
|
||
| To switch: | ||
|
|
||
| 1. `docker compose rm -sf plex` — stop and remove Plex *before* editing the file. | ||
| Do this first: once `plex:` is commented out Compose no longer knows the service | ||
| exists, so `docker compose up -d` won't touch the container. It keeps running on | ||
| host networking, and you end up with both media servers indexing the library — | ||
| the one thing this section exists to avoid. | ||
| 2. In `docker-compose.yml`, comment out the entire `plex:` service. | ||
| 3. Uncomment the `jellyfin:` service directly below it. | ||
| 4. `docker compose up -d`. Jellyfin's web UI is at `http://<host>:8096` — no claim token needed. | ||
|
|
||
| **What still works, and what doesn't.** Jellyfin serves the same media library, but | ||
| several companions in this stack talk to Plex's API specifically: | ||
|
|
||
| | Works with Jellyfin as-is | Plex-only (won't work against Jellyfin) | | ||
| |---------------------------|------------------------------------------| | ||
| | Radarr, Sonarr, Prowlarr, Bazarr | Tautulli (Plex analytics) | | ||
| | Transmission | Watchlistarr (syncs the *Plex* watchlist) | | ||
| | | Kometa / Plex Meta Manager | | ||
| | | Maintainerr | | ||
|
Comment on lines
+167
to
+172
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not reproducing this. The rows are |
||
|
|
||
| **Seerr needs reconfiguring, not replacing.** Seerr does support a Jellyfin backend, | ||
| but the media server is chosen during its setup and doesn't follow the compose swap. If | ||
| you already onboarded Seerr against Plex, re-point it at Jellyfin in **Settings → | ||
| Media Server** — otherwise approved requests keep going to a Plex server that is no | ||
| longer running, with no error to tell you so. | ||
|
|
||
| Because the dashboard's now-playing and poster panels read through Tautulli, those | ||
| panels are Plex-bound too. Jellyfin-native replacements (e.g. Jellystat) are a possible | ||
| future addition but aren't wired up here yet. | ||
|
|
||
| ### Content Management | ||
|
|
||
| | Service | Description | Port | | ||
|
|
||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Uh oh!
There was an error while loading. Please reload this page.