Skip to content

Sofa King documentation

Sofa King is a self-hosted media center: a server that keeps live TV, recordings and media libraries, and the app that watches all three. The same pages are on the documentation site, with search and the API reference.

Where What it covers
Server documentation Deploying, the lineup, recordings, libraries, the admin portal, the HTTP API, security, architecture and development
App documentation Installing and using the app on each platform, security, architecture and development
Contract The wire types the server and the app share, and the rules for changing them
How Sofa King compares Plex, Jellyfin, Emby and Channels DVR side by side, and what Sofa King does not do
Coming from Plex or Jellyfin Keeping your folders and your other server while the household switches
CONTRIBUTING The repository's layout, conventions and CI
SECURITY, SUPPORT Reporting a vulnerability, and where to get help

Glossary

Terms both parts use. Each part's docs index defines the rest.

Term Meaning
Server The Sofa King server in backend/. It builds the lineup, holds the guide data, relays every stream, records programs and serves the media libraries
App The Sofa King app in app/, on Android TV, Google TV, phones, desktops, iOS, Apple TV and the web
Lineup Every lineup entry the server lists, in order. The app, the M3U and XMLTV outputs and Plex all serve the same lineup
Channel, lineup entry One entry in the lineup: its number, name, group, logo, guide mapping and sources, under a stable ID. The API's channel ID is the lineup entry ID
Group, tag A channel's lineup group, such as News. The API sends it in the channel's tags, and the app shows each as a filter chip
Guide In the app, the grid of channels and their programs over 24 hours. In the server's docs, an XMLTV source of programs that the server imports (a guide source)
Program One scheduled show. XMLTV calls it a programme
Playback session The server's lease on one stream, under which the app holds one at a time. A live session opens as a preview or a watch, and the app promotes its preview to watch when the channel goes full screen. A library playback session, under /api/v1/vod-sessions, plays one library item or recording as the file is or with its streams copied or converted to HLS
Recording One program the server records from a channel into the recordings folder, scheduled by hand or by a series rule
Media library A folder of movies, TV shows or other videos under the server's media folder or its recordings folder, which the server scans. Its movies, shows, seasons, episodes and videos are library items
Watchlist The household's list of library items to watch and guide titles to watch for, kept on the server, with the next airing of each title