Skip to content

Latest commit

 

History

1,484 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Silo logo

Silo

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 · Discord · Support Silo · Contributing


Warning

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

What Silo 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 Silo, PostgreSQL with pgvector, and Redis.

git clone https://github.com/Silo-Server/silo-server.git
cd silo-server
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 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 Continuum? Use the cutover 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

Questions and discussion: Discord. Bugs, install problems, and performance issues: the GitHub issue forms, which ask for reproduction steps and raw logs.

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

Supporting Silo

Silo is developed in spare time and funded out of pocket, and will stay free and open source. GitHub Sponsors covers AI development tooling (Claude, Codex), push-notification relay infrastructure, and future project costs. Bug reports, code, and documentation help just as much.

License and trademarks

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

The Silo name, logo, and wordmark are trademarks of Silo Media L.L.C. and are not covered by the AGPL. Forks and redistributions may use the code but must not use the Silo brand as their identity and must remove or replace the brand assets. Publishing a Silo-branded app to an app store requires written permission. See TRADEMARK.md for permitted referential use, including phrases such as "compatible with Silo."

About

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

Topics

Resources

Contributing

Stars

323 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages