Skip to content
Projects

fliks-app/fliks has 26 GitHub stars and 0 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 01:58 UTC. Last push 2026-11-13.

How these counts are measured

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

Fliks is an open-source, self-hosted media server and library manager. It organizes and streams movies, TV shows, music, books and comics.

Creative & Media

README.md

Original

Fliks

Your personal video collection, on every screen in the house.

Point Fliks at the folders where your videos live and it does the rest: covers, descriptions, cast, seasons and episodes, laid out like the streaming apps you already use — except the library is yours.

It turns a folder of video files into a proper streaming service for the household. Everyone gets their own profile and their own place in every episode; start something on your phone, sit down, and the TV picks it up where you left off. It plays on whatever screen is in front of you, and converts the video on the fly when that screen can't handle the original file.

Self-hosted: the server runs on your machine, there is no account to create, no subscription, and nothing leaves the house.

  • Server — Docker, a Windows tray app or a macOS menu-bar app
  • Clients — web, iOS, Android, Android TV, Apple TV, Samsung, LG, desktop, Chromecast
  • License — AGPL-3.0-or-later

The home page, a library, discovery and a film page


What you get

Watching

  • Adaptive streaming — quality follows the bandwidth without a hiccup, or lock a bitrate by hand when you'd rather decide.
  • Resume anywhere — start on the phone, finish on the TV; the position syncs live.
  • Every track, switchable mid-playback — all embedded audio renditions, all embedded and external subtitles (.srt, .ass), with your choice remembered per show.
  • Subtitles found for you — a video that came without any? Fliks goes looking on the usual subtitle sites and picks the one that actually matches your copy, in the languages you asked for.
  • Out of sync, fixed in one click — Fliks listens to the dialogue and slides the subtitles back onto it. No hunting for the right offset, no re-downloading three files hoping one lands.
  • Translated on demand — nothing available in your language? Take a track you do have and have it translated into one you can read. You bring the translation service; the result is saved next to the video so it's only done once.
  • Subtitle appearance per user: size, colour, shadow, background opacity, margins.
  • Skip intro, next episode, chapter markers and thumbnail previews when you scrub.
  • Commercials skipped, cuts and mutes honoured — drop an .edl file next to a video (the Kodi format Comskip and MCEBuddy write) and every client skips the ads, jumps the cuts and silences the muted stretches on its own. Each user can turn it off.
  • Live TV, from your own IPTV subscription — add an M3U playlist or an Xtream account and channels line up next to your library, with a program guide and a rewind buffer to pause live and jump back a few minutes. Setting one up: docs/livetv.md.

Browsing

  • Several libraries side by side — movies, shows, home videos, kids — each pointed at its own folder.
  • Search across all of them, filter and sort by status, date added, rating, runtime.
  • Metadata from TMDB / TVDB: posters, fanart, genres, cast and crew. Every person is a page listing everything they worked on in your libraries; every genre is a filter.
  • Home rows — Continue Watching, Recently Added, and recommendations weighted by what you've actually watched.
  • Calendar of upcoming episodes for the series you follow.
  • Spoiler protection — an account-wide switch that blurs the synopsis of a film, a season or an episode you haven't watched, along with an unwatched episode's thumbnail and backdrop, and shows Episode 3 in place of a title that gives the plot away. Click a masked item to reveal it, or mark it as watched and it unmasks for good. Each of the three is its own toggle, and the setting follows your account onto every device.

Sharing with the household

  • Watch parties: watch the same film together, each on your own screen, with playback kept in sync, a chat and press-to-talk voice. Plan one ahead, let guests propose and vote for what to watch, and build the evening's programme on the party page.
  • Recommend something to someone — pick a film or a season and send it to another user. It shows up on their home page under Recommended for you, with your name on it.
  • Playlists — your own running order, drag to reorder, autoplay from one item to the next, and watched items drop off on their own if you want them to.
  • Shared playlists — invite other users as viewer, editor or admin and build one together, or save someone else's public playlist to your own list.
  • Downloads that keep themselves current — turn a playlist to automatic on your phone, tablet or the desktop app: what you haven't watched is downloaded to the device, and what you have watched is removed to give the space back. Nothing to think about before a flight. A whole season or show downloads in one go, or keeps the next episodes on the device, over wifi only if you prefer.
  • Everyone stays in control — each user decides whether their profile is public and what appears on it: tastes, recent activity, favourites, statistics — or nothing at all.

Running it

  • Multi-user, each with their own history, progress and preferences.
  • Quick Connect for TVs: pick your account on the screen, then approve the request from the Login requests page on your phone.
  • Live transcode dashboard for admins: who's watching what, at which quality, on which hardware path, and why a transcode was needed.
  • Why is it stuttering? Every client reports how its playback is going, and each session gets a verdict: the network, a device too weak for the stream, a transcode that can't keep up, or a playback error. See it live next to each stream, or look back over the last weeks per device to spot the TV that struggles with HEVC. The numbers stay on your server, and an admin can switch the collection off.
  • Library cleanup rules: titles nobody watches go to a Leaving soon list, with reminders before they're removed after a grace period. Or browse the suggestions (never played, ended series) and decide title by title.
  • Images cached locally — no hotlinking to external services while you browse.

Plugins

Fliks ships with no way to acquire media. You install what you want from Settings > Plugins: the official catalog is configured out of the box, and you can add other sources or import a .fkplugin archive by hand.

  • The Download plugin brings torrent indexer search, download-client management and the grab pipeline. Install it and the search, the clients and their settings pages appear in the interface.
  • Archives are signed, and the signature is checked before anything is written to disk.
  • A plugin that runs code runs apart. A data plugin ships JSON and executes nothing at all; a process plugin is a WebAssembly component sandboxed by the server, with capped memory and run time, one private folder, and its own PostgreSQL role and schema. It cannot reach another plugin's tables, or yours.
  • Plugins extend the interface, not just the backend. Their pages, menu entries and settings appear where they belong and follow your permissions like everything else.
  • Updates are checked daily, and you can turn that off.

Writing one: docs/plugins.md.


Client compatibility

Fliks runs on plenty of devices. Start a film on your phone and finish it on the TV: your place follows you from one to the other. Here is the full list of what it runs on.

Client Where to get it Minimum Notes
Web / PWA your browser, at the server URL any current browser installable to the home screen
iOS · iPadOS App Store iOS 16.6
Android Play Store Android 6 (API 23) phone + tablet
Android TV Play Store Android 6
Samsung TV (Tizen) sideload for now Tizen 5.5 works fully, not yet on Samsung Apps
LG TV (webOS) LG Content Store webOS 7.0 approved, on the store
Desktop release assets, APT or Snap Store on Linux macOS: Apple Silicon Windows .exe, macOS .dmg, Linux .deb / AppImage
Chromecast built in, cast from any client any custom receiver, same player engine
Apple TV App Store tvOS 17 native SwiftUI app
Nintendo Switch build the .nro from switchfliks homebrew-enabled console beta, native client with hardware decode

The Linux desktop client through APT (Ubuntu 24.04, Debian 13 and later):

sudo curl -fsSLo /etc/apt/sources.list.d/fliks.sources https://github.com/fliks-app/fliks/releases/download/apt/fliks.sources
sudo apt update && sudo apt install fliks-desktop

The first command adds the Fliks repository and its signing key to APT. A .deb installed from the release assets adds the same source, so apt upgrade keeps it up to date.

Or from the Snap Store: sudo snap install fliks.


Server compatibility

How you run it Platforms Hardware transcoding Ships with
Docker (recommended) linux/amd64, linux/arm64 Intel QSV · VAAPI · NVIDIA NVENC · AMD server, web client, FFmpeg
Windows — tray app, NSIS installer Windows x64 Intel QSV · AMD AMF · NVIDIA NVENC, auto-detected everything, no dependencies
macOS — menu-bar app, .dmg macOS 13 Ventura+, Apple Silicon VideoToolbox everything, no dependencies
From source anywhere Rust and Node (client build) run whatever your FFmpeg exposes —

The image is a single container: the Rust server (fliks-server, behind the fliks-engine streaming engine), the built Angular client served as static assets, and a self-contained jellyfin-ffmpeg build. A PostgreSQL container sits beside it (the example Compose pins 18.3).

Encoders

Which hardware path is available depends on the machine, not on Fliks — it probes at startup and falls back to CPU when nothing else answers.

Codec CPU Intel QSV VAAPI NVIDIA NVENC AMD AMF VideoToolbox
H.264 ✅ ✅ ✅ ✅ ✅ ✅
HEVC ✅ ✅ ✅ ✅ ✅ ✅
AV1 ✅ ✅ ✅ ✅ ✅ —

HDR10, HLG and Dolby Vision are tone-mapped to SDR when the receiving device can't render them.


Get started

The server runs on one machine in the house — the one holding your video files. Everything else connects to it. Three ways to install it; they give you the same Fliks, so pick whichever suits the machine. All you need is a folder with your videos and about two minutes.

Windows

Download the installer from the latest release and run it. Fliks sits in the system tray and starts with the machine. Nothing else to install. Details in windows/.

macOS

Download the .dmg from the latest release and drag it to Applications. Fliks sits in the menu bar. Apple Silicon, macOS 13 Ventura or newer. Details in macos/.

Docker — Linux, NAS, or a home server

curl -LO https://raw.githubusercontent.com/fliks-app/fliks/main/docker-compose.example.yml
mv docker-compose.example.yml docker-compose.yml

Open the file and set three things:

  1. POSTGRES_PASSWORD and DB_PASSWORD — the same real password
  2. the /path/to/your/media:/medias mount: where your files are
  3. PORT — only if 4848 is taken on the host
docker compose up -d

First run

Whichever you picked, open http://<host>:4848 in a browser — on the machine itself that's http://localhost:4848. A fresh install has no account: Fliks shows a setup page where you pick the administrator's username and password (at least 8 characters). Then add a library pointing at your video folder (/medias under Docker), and Fliks scans it and goes looking for the covers.

Then install the app on your phone or TV, point it at the same address, and you're done.


License

AGPL-3.0-or-later — run a modified version on a network and you owe its users the modified source.