Self-hosted audiobook and podcast server with streaming, multi-user progress sync, and podcast auto-download.
- Stars
- 332
- Forks
- 21
- Open issues
- 15
- Last commit
- yesterday
What is it?
K7 is a self-hosted media server that gathers the movies, TV series and music you already own on local storage into one library. It is aimed at a small group of family and friends rather than public streaming, and it is built with ASP.NET Core and Blazor, deployed with Docker Compose alongside PostgreSQL.
Playback uses ffmpeg-based transcoding with HLS, so media can play on clients or networks that cannot handle the original file. Clients include a web app, Android phone and TV apps, and Windows builds, with a MAUI and Blazor setup shared across platforms. Users get playlists, collections, watch history, dynamic rule-based playlists, and offline downloads on native clients.
The server also supports optional local two-factor authentication and OIDC sign-in, guest access controlled by the admin, and federation that lets two K7 instances share and stream each other's media without copying files. OpenSubsonic compatibility lets apps such as Symfonium and Feishin connect.
Key features
- 01Unified library for movies, TV series and music stored locally
- 02HLS transcoding with ffmpeg for playback on limited clients or networks
- 03Web, Android, Windows and other clients with a shared interface
- 04Federation between K7 instances to stream remote media without duplicating files
- 05OpenSubsonic support for third-party music apps
- 06Optional 2FA and OIDC sign-in with admin-controlled guest access
Use cases
- Sharing a household's movie and music collection with family members
- Running a private media server on a homelab for a small friend group
- Linking two self-hosted servers so friends can stream each other's libraries
- Playing a personal music collection through OpenSubsonic-compatible apps
Quick start
- 1
Copy the example environment file
cp .env.example .env - 2
Set POSTGRES_PASSWORD in .env, then start with Docker Compose
docker compose up -d - 3
Open http://localhost:7080 in a browser and complete first-run setup
Things to know
- Built for a small circle of family and friends; the maintainer says it will not implement every feature request.
- Only the guest login is available on the live demo, so full-account features cannot be tried there.
- Linux client is experimental and iOS and Mac builds are not tested by the maintainer.
Topics
FAQ
- What is K7?
- A self-hosted media server for movies, TV series and music, built for a small circle of family and friends. K7 is a self-hosted media server that gathers the movies, TV series and music you already own on local storage into one library. It is aimed at a small group of family and friends rather than public streaming, and it is built with ASP.NET Core and Blazor, deployed with Docker Compose alongside PostgreSQL.
- Is K7 free to use? What license does it have?
- K7 is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is K7 still maintained?
- Actively maintained. The last commit to K7 was on Oct 19, 2026.
- What can I use K7 for?
- Sharing a household's movie and music collection with family members Running a private media server on a homelab for a small friend group Linking two self-hosted servers so friends can stream each other's libraries Playing a personal music collection through OpenSubsonic-compatible apps
- How do I install K7?
- Copy the example environment file: cp .env.example .env Set POSTGRES_PASSWORD in .env, then start with Docker Compose: docker compose up -d Open http://localhost:7080 in a browser and complete first-run setup
- Where can I get K7?
- The source code and installation instructions are on GitHub: https://github.com/kaybi-gh/K7
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Streamlit web UI built on yt-dlp that downloads single videos or playlists and files them into folders that Plex, Jellyfin or Emby can scan.
Backend server for Bitwarden clients, providing the APIs, SQL Server database and Docker deployment for the password manager.
A free, open-source multi-protocol download manager in Rust supporting HTTP, FTP, BitTorrent, eD2K and HLS/DASH streams, with browser integration.
A picture frame that shows the birds detected by a BirdNET-Go microphone, drawn as hand-cut 1800s bird illustrations on e-ink or any screen.
A desktop Swiss Army knife for developers, bundling about 30 small tools for encoding, formatting, converting, testing and generating data.