Skip to content
kipsilabsPublic

About

Self-hosted media streaming server with a Go backend, React web UI, Docker deployment, transcoding, and Jellyfin-compatible APIs.

Resources

Contributing

Stars

5 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

3,409 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vio logo

A self-hosted media server for films, series, audiobooks, ebooks, podcasts, and manga.

Latest GitHub release Container image on GHCR Continuous integration Go 1.26 React 19 AGPL-3.0-or-later license

Quick start · Documentation · Builds & releases · Migrating from Silo · Contributing


Warning

Vio is pre-release. APIs, configuration, and database migrations may change before the first stable release. Back up your deployment before updating.

1.0 release scope

The 1.0 milestone covers movies and series. Audiobooks, ebooks, and Audiobookshelf compatibility keep working as they do today and are labeled beta: they are outside the 1.0 support promise and will be replaced by a consolidated Books effort with no assigned release date. The broader capabilities below include those beta implementations, not a promise that every media type is supported in 1.0. Existing library data is preserved when upgrading.

What Vio does

Play

Direct play when possible, remux when needed, transcode otherwise, with VA-API, Quick Sync, and NVENC hardware acceleration.
Organize

One catalog for films, series, audiobooks, ebooks, podcasts, and manga, matched through metadata plugins such as TMDB and TVDB.
Connect

Use the included web app, or the Jellyfin/Emby-compatible API with clients such as VidHub, Findroid, and Infuse. Client coverage varies.
Share

Household profiles with their own watch state, library access, and parental controls.
Manage

Libraries, users, providers, storage, search, and playback are configured in the admin interface, not in config files.
Scale

Start with one integrated server; split proxy and transcode roles across shared PostgreSQL and Redis when you need to.

Quick start

Requires Docker Compose 2.24 or newer. The default stack runs Vio Server, PostgreSQL with pgvector, and Redis.

git clone https://github.com/kipsilabs/Vio.git
cd Vio
cp .env.example .env
chmod 600 .env
printf '\nPOSTGRES_PASSWORD=%s\nSECRET_KEY=%s\n' \
  "$(openssl rand -hex 24)" "$(openssl rand -base64 48)" >> .env

Set MEDIA_ROOT in .env to the absolute path of your media, then:

docker compose up -d

Open http://localhost:8090 and complete onboarding.

The published developmental image is ghcr.io/kipsilabs/vio:dev (override with VIO_IMAGE to pin a tag or use :latest for releases). Server data lives under /opt/vio by default; set VIO_DATA_ROOT in .env to relocate it. When running from source, the server binary is ./vio.

The Docker deployment guide covers the SECRET_KEY backup requirement, storage paths, GPU acceleration, Meilisearch, external PostgreSQL and Redis, distributed roles, PostgreSQL tuning, backups, and updates. Migrating from Silo? Use the Vio migration guide.

Builds and releases

Until the first release, default-branch images carry an ordered build-N tag and a short commit SHA alongside latest. Build numbers order published images; they are not release versions. Release versioning defines each tag and the SemVer contract.

Documentation

Community and contributions

Vio is an independent fork with its own builds. Please file issues and pull requests against this repository (kipsilabs/Vio); upstream Silo does not take Vio patches.

Read CONTRIBUTING.md before opening a pull request. Features, API changes, migrations, and behavior changes should start as an issue.

License and trademarks

Vio's source code is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). See LICENSE.

Vio is based on Silo (© Silo Media L.L.C., AGPL-3.0-or-later). Silo is a trademark of Silo Media L.L.C.; Vio is an unofficial fork, not affiliated with or endorsed by Silo Media.

The Vio name, logo, and wordmark belong to this fork and are not covered by the AGPL. Forks and redistributions may use the code but must not use the Vio brand as their identity and must remove or replace the brand assets. The Silo marks remain the property of Silo Media L.L.C. and are used here only referentially. See TRADEMARK.md.

About

Self-hosted media streaming server with a Go backend, React web UI, Docker deployment, transcoding, and Jellyfin-compatible APIs.

Resources

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages