Skip to content
Kinora logo

Your movies and shows, served light.

Kinora is a self-hosted media server in a single Rust binary. Point it at your library, and it fetches the artwork, plays files as they are when it can, and transcodes on your GPU when it can't.

Tiny and fast

One Rust binary with the web app built in, SQLite for storage and FFmpeg for video. Runs happily on a NAS.

GPU transcoding

NVENC, Quick Sync, VAAPI and VideoToolbox, each checked with a real test encode, with CPU fallback when no GPU is there.

HDR and Dolby Vision

HDR10, HLG and Dolby Vision detection. Profile 8.1 plays as HDR10 without transcoding, and tone mapping to SDR when a screen needs it.

Picks the right tracks

Remembers your audio and subtitle choices per show and library, so the next episode starts the way you like it.

Themes and modules

Six built-in themes with light and dark modes, plus your own JSON themes. Turn off any module you don’t use.

Android TV

A native app that direct-plays what your TV can decode, Dolby Vision included. Tested on the NVIDIA Shield.

Kinora's theme picker with Kinora, Midnight, OLED Black and Ember themes
Terminal window
docker run -d --name kinora -p 8420:8420 \
-v /path/to/config:/config \
-v /path/to/media:/media:ro \
ghcr.io/lancealthouse/kinora:latest

Then open http://<server-ip>:8420 and create your account. See the Docker guide for GPUs and compose, or the Unraid guide.

Kinora is free and open source under the GPL-2.0 license. Wondering how it stacks up against Jellyfin, Plex or Emby? See the honest comparison.