Twelve keys: a server with five streams playing and two transcoding, readings of five streams and two transcodes, a movie library of 1,284 being scanned at 64 percent, a completed library scan task, free space of 1.2 terabytes; then Now playing keys for a transcoding movie with its reason, an episode playing direct, a Plex episode transcoding hevc to h264, a paused movie, the newest episode added 18 minutes ago, and a message key with four screens.
Made-up servers and films. The ring round every key carries its state: teal while something plays, amber while anything transcodes, red when a server has gone.

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

Six Now playing keys: a movie transcoding because of HDR and the audio codec, an episode transcoding for bitrate on hardware, a Plex episode transcoding hevc to h264, an episode playing direct, a paused movie, and a song on a direct stream.
One key per stream. The chip says direct, remux or transcode; the amber line says why.

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.
Six keys doing things: an episodes library scanning at 64 percent, a chapter image task at 43 percent, a log cleanup task that failed two days ago, a restart key saying restart pending, a message key that was sent to four screens, and an episode key that was just paused.
Keys that do something show it happening, then how it went.

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

The Stream Deck + touch strip over its four dials: a server with five streams, its transcodes while the dial is turned to the second of ten readings, a movie transcoding at the first of five streams, and a Plex episode transcoding.
The touch strip is drawn like the keys, and goes grey and then red when a server goes quiet.
  • 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

Keys from three servers on one deck, each naming its server: a Jellyfin server and its transcodes and movies, a Plex server, its episodes and a restart key saying not on Plex, and an Emby server with a storage key saying not on Emby.
With more than one server set up, every key names its own. A key that a server cannot answer says so.
JellyfinEmbyPlex
Streams, transcodes and whyYesYesYes
Library counts, latest, scanYesYesYes
Scheduled tasksProgress and last resultProgress and last resultRun and stop
Pause a streamYesYesNo
Stop a streamYesYesWith Plex Pass
Message viewersYesYesNo
Restart and shut downYesYesNo
Free spaceYesNoNo

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

Six keys showing problems: a server quiet for 44 seconds in grey, a server offline for 2 minutes in red, API key refused, set the server, a Plex restart key saying not on Plex, and a Plex stream saying needs Plex Pass.
What the keys say when something is wrong. Each one names the thing to fix.
The key saysWhat it means
set the serverThe key's server (A, B or C) has no address yet. Open Servers in the key's settings
API key refused / Plex token refusedThe server did not accept the token. Make a new API key, or copy your Plex token again
nothing on that portThe 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 portThe address starts with https but the server speaks plain http there. Use http, or your reverse proxy's address
certificate not trustedAn https server with a self-signed certificate. Tick Certificate for that server
The numbers have gone greyNo 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 redNo answer for a minute. The server is down, restarting or unreachable; the key comes back by itself
not on Plex / not on EmbyThat server does not offer this to other apps. See what each server can do
needs Plex PassPlex only lets the server owner stop someone else's stream with Plex Pass
player can't be pausedThat 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.