Skip to content
Floxflix

Your video. Your server. Your rules.

A self-hosted video streaming platform. Upload source files, let FFmpeg transcode them to HLS in the background, and stream to your own users — with authenticated profiles and zero third-party cloud.

Website License Go FFmpeg Docker

Get started · API reference · Website


What is Floxflix?

Floxflix is an open-source, self-hosted video streaming API written in Go. It ingests your own video files, transcodes them to adaptive HLS with FFmpeg, and serves them to authenticated clients — no vendor lock-in, no proprietary media server, no third-party cloud.

  • HLS streaming — source files become .m3u8 playlists with .ts, .m4s or .mp4 segments, playable anywhere.
  • JWT authentication — HTTP-only cookies plus bearer tokens, hashed passwords, revocable sessions.
  • Viewer profiles — Netflix-style multi-profile support under a single account.
  • Upload & transcode — multipart uploads for mp4, mkv, mov, avi, webm and more.
  • Background queue — uploads return immediately while FFmpeg jobs process in a worker queue.
  • OpenAPI contract — a complete openapi.yml and Postman collection ship with the project.

Repositories

Repository Description Stack
floxflix Self-hosted video streaming API — upload, transcode, authenticate, stream Go · FFmpeg · MongoDB
floxflix-ui Admin dashboard and web client for the floxflix stack TypeScript
floxflix-manifests Raw Kubernetes manifests for the floxflix stack Kubernetes
floxflix-telegram-bot Telegram bot for floxflix Go
floxflix.github.io Project website HTML

Quickstart

# clone the API
git clone https://github.com/floxflix/floxflix
cd floxflix

# set the required secret
export JWT_SECRET_KEY=$(openssl rand -base64 48)

# start the API + MongoDB
docker compose up --build

The API listens on http://localhost:7777, with health checks at /healthz and routes under /v1/api.

# get a token (cookies are also set)
curl -X POST http://localhost:7777/v1/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "password": "••••••••"}'

# upload a movie and kick off conversion
curl -X POST http://localhost:7777/v1/api/videos/upload \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@movie.mkv" \
  -F "type=movie" \
  -F 'values={"title":"Arrival","release_year":2016}'

How it works

  1. Upload your source — POST a video with its title, year, genre and cast. Movies and episodes are organized on disk automatically.
  2. FFmpeg transcodes it — the background queue converts the source into HLS segments and a playlist, then marks the job complete.
  3. Stream to your users — authenticated clients hit the streaming endpoint and play the HLS output in any modern browser, app or TV client.

Legal

Floxflix is intended only for content you own or otherwise have the rights to stream. It ships with no media, and you are responsible for how you use it.

Community


Released under the MIT License · Built for people who host their own media.

hello@floxflix.io

Pinned Loading

  1. floxflix floxflix Public

    Self-hosted video streaming API written in Go. Upload source videos, transcode them to adaptive HLS with FFmpeg, and stream to authenticated users — a self-hosted Jellyfin alternative

    Go 3 4

  2. floxflix-ui floxflix-ui Public

    Admin dashboard and web client for the FloxFlix stack.

    TypeScript 3

  3. floxflix-manifests floxflix-manifests Public

    Raw Kubernetes manifests for the FlixFlox stack.

    1

  4. floxflix-telegram-bot floxflix-telegram-bot Public

    Telegram bot for FloxFlix — manage your self-hosted video streaming server right from chat.

    Go

Repositories

Showing 6 of 6 repositories
  • floxflix Public

    Self-hosted video streaming API written in Go. Upload source videos, transcode them to adaptive HLS with FFmpeg, and stream to authenticated users — a self-hosted Jellyfin alternative

    floxflix/floxflix's past year of commit activity
    Go 3 MIT 4 11 (1 issue needs help) 0 Updated Nov 12, 2026
  • floxflix-ui Public

    Admin dashboard and web client for the FloxFlix stack.

    floxflix/floxflix-ui's past year of commit activity
    TypeScript 3 MIT 0 4 0 Updated Nov 12, 2026
  • .github Public
    floxflix/.github's past year of commit activity
    0 0 0 0 Updated Nov 12, 2026
  • floxflix-manifests Public

    Raw Kubernetes manifests for the FlixFlox stack.

    floxflix/floxflix-manifests's past year of commit activity
    1 0 0 0 Updated Nov 12, 2026
  • floxflix-telegram-bot Public

    Telegram bot for FloxFlix — manage your self-hosted video streaming server right from chat.

    floxflix/floxflix-telegram-bot's past year of commit activity
    Go 0 0 0 0 Updated Nov 12, 2026
  • floxflix.github.io Public

    floxflix web page

    floxflix/floxflix.github.io's past year of commit activity
    HTML 0 0 0 0 Updated Nov 11, 2026

People

This organization has no public members. You must be a member to see who’s a part of this organization.