a single Rust binary · open source · GPL-2.0
Your media library, at home.
KROMA brings the indexer, the download engine, the VPN, the server and the player together under one self-hosted server. Direct-play, native HEVC, on the web, on mobile and on every television.
- starts in milliseconds
- zero containers
- video is never re-encoded
A single server
Six containers. One server.
A typical setup bolts together half a dozen services: six configs, six things that break, never at the same time. KROMA replaces them with a single Rust server that starts in milliseconds and keeps no transcoding farm warm.
Before · six containers
- Sonarr · Radarracquisition
- Prowlarr / Jackettindexers
- qBittorrentdownloading
- GluetunVPN + kill-switch
- Jellyfinserver + player
- Overseerrrequests
- Cardigann + Torznab indexers
- librqbit BitTorrent engine
- Quality decisions, import and renaming
- WireGuard → SOCKS5 bridge with kill-switch
- Direct-play player, native HEVC
Everything included
The whole chain, one server
Find, download, organize, stream. Every link of a self-hosted media library, written once and shared, with nothing to wire between them.
Automatic acquisition
Ask for a title: KROMA searches every one of your indexers, scores each release on resolution, codec, size, seeders and your keywords, grabs the best one, then imports and renames it Plex-style.
decision engine · wanted-list
VPN with a real kill-switch
Paste a WireGuard config and all torrent traffic goes through a managed WireGuard→SOCKS5 bridge. A failed tunnel check pauses every download on the spot: no leak, no Gluetun to wire up.
WireGuard → SOCKS5
Native indexers
A reimplemented Cardigann engine runs the tracker definitions from Jackett and Prowlarr, directly.
Cardigann + Torznab
Download engine
A librqbit BitTorrent client fetches releases directly, driven by KROMA. Transmission and qBittorrent stay supported.
librqbit
Direct-play player
Original files are streamed by byte range and decoded by the client. Video is never re-encoded.
HEVC/H.265 · range-streamed
On-device AI
Recommendations and semantic search over local embeddings, subtitles generated by Whisper. On your machine, no cloud.
on-device · Whisper
Multi-user
Accounts, profiles, PIN locks, WebAuthn passkeys, invitations and per-user permissions. Share without opening everything up.
profiles · PIN · passkeys
Live statistics
Downloads, library scans and playback pushed in real time over a WebSocket bus, to dashboards and clients.
WebSocket bus
Direct-play, HEVC first
The server never transcodes video.
KROMA streams the original files by byte range; each client decodes HEVC/H.265 itself, in 10-bit and HDR, in hardware on Samsung and LG televisions. No transcoding pipeline, no CPU farm to keep warm.
One exception: an audio-only HLS stream for browsers that cannot decode AC3/EAC3/DTS. The video is copied, only the audio is transcoded to stereo AAC.
Decoded by the client
Nothing to re-encode: playback never wakes the processor. Your NAS stays free for everything else.
Platforms
The same KROMA, on every screen
The components and design tokens exist once, in a shared kit, and render natively, from the browser to the living room driven by a remote.
Self-hosted
Built to be owned, not rented.
Open source, under the GPL-2.0 license. No account to create, no subscription, no central service that could shut down. Your library and your activity never leave your network.
- Free
- Open source, GPL-2.0 license
- Private
- Nothing leaves your network
- No central service
- No account, no subscription
- Offline
- Playback works without internet
$ docker run -d -p 4040:4040 \
-v /volume1/video:/media \
-v kroma-data:/data \
ghcr.io/maxscharwath/kromaJournal
From the blog
One UI kit, six platforms
How the same component renders on an Apple TV, a Samsung panel and in a browser, without ever being rewritten.
Welcome to KROMA
Why we collapsed six containers into a single Rust binary, and what that changes for your media library.
Take back control of your media library.
One binary to launch, your hardware, your files. No subscription, no data leaking out.
© 2026 · free software · GPL-2.0 license