What you need
- A Plex, Jellyfin or Emby server this computer can reach, at home or over your VPN. Up to three of them, of any mix.
- Windows 10 or 11 with Stream Deck 7.1 or newer. Any Stream Deck works; the Stream Deck + gets dials and touch strip images too.
- A token for each server: an API key from Jellyfin or Emby, or your Plex token.
- Nothing on the server. No plugin, no agent, no extra port.
1. Install the plugin
Submitted for approval. Media Server Deck is waiting for review on the Elgato Marketplace, after testing against real Plex, Jellyfin and Emby servers. This page will link to the listing as soon as it is approved. It comes with ready-made pages for every Stream Deck.
For a homelab, not for production. Media Server Deck is built for the server under the stairs and the people in your house. It keeps no history, raises no alerts, and has no idea who is pressing the key. Restarting the server, or stopping someone's film, is a two-second hold away.
Demo profiles
A ready-made page of Media Server Deck keys for each Stream Deck, so there is something to look at as soon as a server is set up. Download the one for your deck and double-click it to import it into Stream Deck. The keys use server A, and the XL has a row for server B; set them up under Servers in any key's settings first, or the keys will say set the server.
- Stream Deck: 15 keys, with the server, its readings, four streams, the libraries, a scan and restart
- Stream Deck Mini: 6 keys, with the server, two streams, transcodes, movies and the latest arrival
- Stream Deck XL: 32 keys, three rows for server A and one for server B
- Stream Deck +: 8 keys and all four dials, two of them turning through what is playing
- Stream Deck Neo: 8 keys, with the server, two streams, transcodes, movies, a scan, the latest arrival and a message
On a Plex server, the restart, message and free space keys say not on Plex; see what each server can do.
2. Add your servers
Drop any Media Server Deck key on the deck, click it, and open Servers. Each of servers A, B and C has the same five settings.
- Type: leave it on Work it out and the plugin asks the server what it is, or pick Plex, Jellyfin or Emby yourself.
- Name: optional. Keys use the server's own name otherwise.
- Address: where you open the server, with its port. Plex is usually
:32400, Jellyfin and Emby:8096. A web app address pasted straight from the browser works too. - Token: for Jellyfin or Emby, open Dashboard, API Keys, add a key called Media Server Deck and paste it here. For Plex, use your Plex token; Plex's own support pages explain where to find it.
- Certificate: tick it only for an https address with a self-signed certificate.
Pick Status under a server to check it: it says Connected to Jellyfin and the version, or what is wrong. Then set Server on each key to A, B or C.
3. Now playing
A Now playing key shows one stream: the title and episode, a bar of how far in, the time, and who is watching on which device. A transcode says why, as the server reports it: HDR, a codec, the bitrate, or on Plex the conversion itself, such as hevc to h264. Streams keep their slot, so a key never jumps to someone else's film while you are looking at it; the first key shows the stream that started first.
Press to pause or resume, hold two seconds to stop. On Jellyfin and Emby that works on any player that lets the server control it, which is the web app and most TV apps; a player that cannot be controlled says so.
4. The keys
- Server: how many streams are playing, a step line of the last few minutes, and on the bottom line whether an update or a restart is waiting. Press for the server page.
- Reading: one number: streams, transcodes, people watching, movies, shows, episodes, songs, albums, books or free space.
- Library: a count. Press to scan every library, and every Library key shows the scan's progress while it runs.
- Task: one scheduled task's progress, or how it went last time. Press to run, hold to stop.
- Latest: the newest movie, episode or song, and how long ago it arrived.
- Storage: free space where the libraries live, or where transcodes are written.
- Restart: restart or shut down the server, on a two-second hold.
- Message: your words on every screen watching that can show them, such as server restarts in five minutes.
5. Pages on the deck
Press a Server key and the deck switches to that server's own page: every reading, the library counts, the scan task, free space, the newest arrival and a restart key, laid out for whichever deck you have. Press a streams or transcodes key and you get the Now playing page instead, with a key for every stream and arrows when there are more than fit. Back returns to your own page. The pages are installed as read-only profiles the first time you open one; accept the prompt.
6. Stream Deck + dials
- Server dial: turn through the server's numbers, skipping libraries it has none of. Push to open the server page.
- Now playing dial: turn through every stream. Push to pause or resume.
- Tap the strip to refresh.
7. What each server can do
| Jellyfin | Emby | Plex | |
|---|---|---|---|
| Streams, transcodes and why | Yes | Yes | Yes |
| Library counts, latest, scan | Yes | Yes | Yes |
| Scheduled tasks | Progress and last result | Progress and last result | Run and stop |
| Pause a stream | Yes | Yes | No |
| Stop a stream | Yes | Yes | With Plex Pass |
| Message viewers | Yes | Yes | No |
| Restart and shut down | Yes | Yes | No |
| Free space | Yes | No | No |
The gaps are the servers', not the plugin's: Plex and Emby do not offer another app those things, so the key says not on Plex or not on Emby rather than offering a press that cannot work.
8. What it does with your server
- It asks, it does not install. Every few seconds it asks each server what is playing and what its tasks are doing; library counts every minute, storage every five. That is all the traffic there is.
- Tokens stay on this computer, in Stream Deck's settings, and each is only sent to its own server, in a header.
- It does not go online, and the plugin's log records states and counts only: never an address, a token, a title or a name.
Troubleshooting
| The key says | What it means |
|---|---|
| set the server | The key's server (A, B or C) has no address yet. Open Servers in the key's settings |
| API key refused / Plex token refused | The server did not accept the token. Make a new API key, or copy your Plex token again |
| nothing on that port | The address answers but nothing is listening on that port. Check it is 32400 for Plex or 8096 for Jellyfin and Emby |
| not https on that port | The address starts with https but the server speaks plain http there. Use http, or your reverse proxy's address |
| certificate not trusted | An https server with a self-signed certificate. Tick Certificate for that server |
| The numbers have gone grey | No answer for 30 seconds. The key says how long it has been quiet rather than showing numbers that are no longer true |
| offline for in red | No answer for a minute. The server is down, restarting or unreachable; the key comes back by itself |
| not on Plex / not on Emby | That server does not offer this to other apps. See what each server can do |
| needs Plex Pass | Plex only lets the server owner stop someone else's stream with Plex Pass |
| player can't be paused | That app does not let the server control it. The web app and most TV apps do |
Frequently asked
How quickly does a key notice a server has gone?
For the first 30 seconds after the last answer nothing on the key changes, so a slow answer or a quick restart never makes it flicker. After that the numbers go grey and the key counts how long the server has been quiet; at a minute it turns red and reads offline, and the count keeps going. It is the same whether the server was switched off or simply stopped answering, and the key comes back by itself when the server does. A refused token or a wrong address is named straight away, since waiting will not fix it.
Does the token have to be an admin's?
A Jellyfin or Emby API key made under Dashboard, API Keys already has the access the plugin needs. On Plex, use the token of the account that owns the server; a shared user's token cannot see other people's streams.
Can I use Plex without a token?
Only if your Plex server lets your network in without one, under Network, List of IP addresses and networks that are allowed without auth. Leave the token empty and the plugin will use that. Anything else needs a token.
Does it slow the server down?
No. The questions it asks are the same small ones the server's own dashboard asks, a few times a minute, and it stops asking when no key on screen needs that server.
Something is still wrong.
Email support@teatimeservers.ca with what the key says and which kind of server it is, and we will take a look.