selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Silo logo

Self-host Silo

Media server you host yourself for movies, shows, and books

AlphaOpen SourceAGPL-3.0
Updated4 days ago
LanguageGo
Setup difficultyModerate
ThemeDark mode
Stars
778
Ports
8080 (main HTTP API and web UI (container listener)), 8096 (Jellyfin/Emby compatibility API), 13378 (Audiobookshelf compatibility API)
Requires
PostgreSQL with pgvector, Redis
Docker
ghcr.io/silo-server/silo-server
Install with Docker Compose

What is Silo?

Silo is a media server you run on your own hardware, built with a Go backend and React web UI. It brings movies, shows, audiobooks, ebooks, podcasts, and manga into one catalog, using metadata plugins like TMDB and TVDB to fetch artwork and descriptions. Playback supports direct play, remuxing, and transcoding with Intel VA-API, Quick Sync, and NVIDIA NVENC hardware acceleration. Silo exposes Jellyfin/Emby-compatible APIs and Audiobookshelf compatibility so third-party clients such as VidHub, Findroid, and Infuse can connect. Household profiles each get their own watch progress, library access, and parental controls. All configuration is managed through an admin web interface rather than config files. The default deployment uses Docker Compose with PostgreSQL (pgvector), Redis, and optional Meilisearch for search. Silo is pre-release with no stable version yet; APIs and database migrations may shift before 1.0.

Should you self-host Silo?

Silo scores 49/100 on selfhost.directory (how scoring works) and ranks #63 of 118 in Media Server. It has 778 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is Jellyfin (88/100, 58 733 stars). It scores higher overall, so compare the two before you pick. See Silo vs Jellyfin side by side.

Features

  • Admin web interface
  • Audiobookshelf compatibilityLabeled beta, outside 1.0 support promise
  • Download for offline use
  • Hardware-accelerated transcoding
  • Household profiles with parental controls
  • Jellyfin/Emby-compatible API
  • Metadata plugins
  • Multi-media catalog
  • PostgreSQL auto-tuning
  • Scalable architecture
  • Secret encryption at rest
  • Watch history import
  • Watch Party (Beta)Beta feature
  • Watch state sync via webhooks

Silo README

How to install Silo

Install Silo with Docker Compose

Environment variables
MEDIA_ROOT, SECRET_KEY, POSTGRES_PASSWORD, SILO_IMAGE, COMPOSE_FILE (for GPU profiles), PORT, JF_PORT, ABS_PORT, MEILI_MASTER_KEY, and many others documented in .env.example

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

Requires Docker Compose 2.24 or newer. Default stack includes PostgreSQL with pgvector, Redis, and optional Meilisearch.

More in Media Streaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…