All apps · 0 apps
staffpicked
Docker app from cj0r's Repository
Overview
Readme
View on GitHubNamed for the shelf of staff picks at the old video store: a few carefully chosen lists, put together by people who care.
StaffPicked builds collections and playlists on Emby and Jellyfin from MDBList lists, Trakt lists and your own Markdown lists, with artwork from TMDB, fanart.tv, MediUX or your own files. It can also give the genres on your server your own artwork. Collections and playlists can be seasonal, appearing only inside a date window. Playlists keep the list's order and can skip what you've already watched. It runs as one Docker container with a web UI, and keeps everything in sync on a schedule (set times each day, or every few hours), on one media server or several at once.
Emby and Jellyfin are supported equally: every feature works on both, you pick the kind for each server in the setup screen (or with SERVER_TYPE), and one StaffPicked can keep an Emby server and a Jellyfin server in step at once.

[!WARNING] StaffPicked is provided as is, with no warranty, and you use it at your own risk. It creates, changes and deletes collections and playlists on your media servers and replaces their artwork, and it holds the API keys for your servers and list services. Try a dry run first, and read Security and the Disclaimer before you put it on a server you care about.
What it does
- Collections and playlists from MDBList, Trakt and your own Markdown lists, kept in sync on a schedule.
- Seasonal date windows, so a list is on the server only while it's in season.
- Playlists in list order that drop films once they're watched, shared or built per person.
- Posters and backdrops from TMDB, fanart.tv, MediUX or your own files, for collections, playlists and genres.
- A web UI to set it all up, preview every change with a dry run, see what's in your library and what's missing, and read the logs.
- One server or several, Emby and Jellyfin side by side.
The user guide has the full list.
Quick start
- Get
docker-compose.ymland start it. Nothing needs editing first:mkdir staffpicked && cd staffpicked curl -fsSLO https://raw.githubusercontent.com/cj0r/staffpicked/main/docker-compose.yml docker compose up -d - Open
http://<host>:9343. A setup screen asks for your media server (with a Test button), optional MDBList and Trakt keys, and a password. Then add collections, playlists and your own lists in the browser. - Enable Admin Mode at the top of Settings, run Sync with Dry run ticked to see every change it would make, then Sync for real.
To update: docker compose pull && docker compose up -d. Compose managers (Dockge, Portainer), Unraid, building from source and permissions are in Getting started.
Screenshots
![]() |
![]() |
| The shelf. Every list, whether it's in season, when it last synced and how much of it is in your library. | A list up close. Its artwork, season and sharing, and each film marked in the library or missing. |
![]() |
![]() |
| Season calendar. When each list is on the server, across the whole year. | Emby and Jellyfin together. One server or several, of either kind, each with its own Test button. |
User guide
Everything else is in the user guide:
- Getting started
- Using the web UI
- Collections and playlists
- List files
- Sources and artwork
- Genre artwork
- Importing what's on your server
- Several media servers
- Settings and the config folder
- Command line
- Security
- Troubleshooting
Disclaimer: use at your own risk
StaffPicked is provided "as is", without warranty of any kind, express or implied. The LICENSE has the full legal text. In plain terms:
- You use it entirely at your own risk. The author and contributors accept no responsibility or liability for lost or changed collections, playlists or artwork, wrong metadata, service interruptions, exposed API keys, security incidents, suspended accounts at the services it connects to, or any other damage from using or misusing it.
- It changes and deletes things on your media servers. Syncs add and remove films in collections and playlists, a list's season ending deletes its collection or playlist,
removedeletes everything configured, and artwork is replaced. A collection or playlist you made yourself is changed too if a StaffPicked entry has the same name. Your media files are never touched, but run a dry run first and keep backups of your server's data. - Check your configuration before running it against a real server. A wrong list, server or name can change far more than intended, and the author can't undo it for you.
- Your deployment's security is yours: network exposure, the password and two-factor sign-in, HTTPS, the reverse proxy and who can read the config folder. See Security.
- You're responsible for following the terms of the services you connect it to (MDBList, Trakt, TMDB, fanart.tv, MediUX and the rest) and of your own API keys, and for having the right to the artwork you use.
- StaffPicked isn't affiliated with or endorsed by Emby, Jellyfin, or any of the services it works with. Their names belong to their owners.
It's a hobby project maintained on a best-effort basis, with no guarantee of support or fixes. Report security problems privately, as SECURITY.md describes, rather than in a public issue.
AI-assisted development
StaffPicked is developed with the help of AI coding tools. AI-generated code, tests and documentation are reviewed and tested by the maintainer before they're merged, and the maintainer is responsible for everything in a release. Even so, AI-assisted code can contain mistakes that review and testing miss, which is one more reason to follow the disclaimer above: try a dry run first and keep backups of your server's data. If you find a bug, please open an issue.
Support the project
If StaffPicked keeps your shelves stocked, you can support its development. Every bit is appreciated.
Contributing and license
Bug reports and pull requests are welcome; see CONTRIBUTING.md, and SECURITY.md for reporting a security problem privately. What changed in each release is in CHANGELOG.md.
StaffPicked is free software under the GNU General Public License v3.0. The icons, QR code library and fonts it bundles are under their own licenses, listed in THIRD_PARTY_NOTICES.md.
Media gallery
1 / 4Requirements
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
cj0r/staffpicked:latestRuntime arguments
- Web UI
http://[IP]:[PORT:9343]/- Network
bridge- Shell
sh- Privileged
- false
- Extra Params
--security-opt no-new-privileges:true
Template configuration
Web interface access port.
- Target
- 9343
- Default
- 9343
- Value
- 9343
Settings, list files, artwork copies and backups.
- Target
- /config
- Default
- /mnt/user/appdata/staffpicked
- Value
- /mnt/user/appdata/staffpicked
Optional: a folder of your own posters and backdrops, so a list can point at /artwork/name.jpg.
- Target
- /artwork
User the container runs as (99 = nobody on Unraid).
- Default
- 99
- Value
- 99
Group the container runs as (100 = users on Unraid).
- Default
- 100
- Value
- 100




