MeiliSearch + PostgreSQL PostgreSQL+ pgvector pgvector+ Redis-Cluster Redis-Cluster + Docker Compose 2.24++ GPU (VA-API/QSV/NVENC)+ TMDB/TVDB+ Silo+ Docker Compose

用 Docker Compose 一键自托管影视、有声书、播客、漫画的多媒体服务器

Silo 提供播放与媒体库管理;PostgreSQL+pgvector 存储元数据向量,Redis 承担缓存与队列;Docker Compose 负责一键编排整套栈。

✓ 一键编排,部署简单✓ 支持硬件加速转码 ✕ pre-release,API 与配置可✕ 客户端覆盖不一

方案简介

Silo 是一个自托管(self-hosted)媒体服务器,面向 films、series、audiobooks、ebooks、podcasts、manga 六类媒体,提供播放、媒体库组织、客户端连接、家庭共享与管理界面等能力。其推荐部署方式是基于 Docker Compose 的默认技术栈:Silo 主服务 + 带 pgvector 扩展的 PostgreSQL + Redis。该组合适合希望用一条命令搭建私有媒体中心、并通过 Jellyfin/Emby 兼容 API 接入第三方客户端的用户。

亮点与能力

  • Play:尽量直接播放,必要时 remux,否则转码,支持 VA-API、Quick Sync、NVENC 硬件加速
  • Organize:统一目录管理六类媒体,通过 TMDB、TVDB 等元数据插件匹配
  • Connect:内置 Web 应用,或使用 Jellyfin/Emby 兼容 API 接入 VidHub、Findroid、Infuse 等客户端
  • Share:家庭档案,各自独立的观看状态、媒体库访问权限和家长控制
  • Manage:媒体库、用户、providers、存储、搜索、播放均在管理界面配置,无需改配置文件
  • Scale:从单一集成服务器起步,需要时可基于共享的 PostgreSQL 和 Redis 拆分 proxy 与 transcode 角色

组成与分工

  • Silo:核心媒体服务器,负责播放、转码、媒体库、用户与管理界面
  • PostgreSQL + pgvector:默认栈中的数据库,用于持久化数据(含向量能力)
  • Redis:默认栈中的缓存/队列组件,支持多角色部署时共享
  • Docker Compose:编排默认栈的部署工具,要求 2.24 或更新版本
  • TMDB / TVDB:元数据插件,用于电影与剧集信息匹配
  • Meilisearch:文档提到的可选搜索方案(见 Docker 部署指南)

前置要求

  • Docker Compose 2.24 或更新版本
  • 可选 GPU:支持 VA-API、Quick Sync 或 NVENC 硬件加速转码
  • 克隆仓库并准备环境变量文件:

实施步骤

1. 克隆仓库并初始化 .env

sh
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

2. 配置媒体路径

.env 中将 MEDIA_ROOT 设置为媒体文件的绝对路径。

3. 启动默认栈

sh
docker compose up -d

4. 完成初始化

打开 并完成 onboarding。

使用与配置要点

  • 启动后访问 完成 onboarding 即可使用
  • 日常管理(媒体库、用户、providers、存储、搜索、播放)在管理界面完成,而非配置文件
  • 可接入 VidHub、Findroid、Infuse 等客户端,客户端覆盖情况不一
  • SECRET_KEY 需备份,详见 Docker 部署指南(含存储路径、GPU 加速、Meilisearch、外部 PostgreSQL/Redis、分布式角色、PostgreSQL 调优、备份与更新)

注意事项与常见问题

  • Silo 处于 pre-release 阶段,API、配置和数据库迁移在首个稳定版前可能变更,更新前请备份部署
  • 默认分支镜像使用 build-N 标签加短 commit SHA 及 latest,构建编号用于排序,不是发布版本
  • 客户端覆盖情况(Client coverage varies)不一
  • 商标:Silo 名称、logo 与 wordmark 属于 Silo Media L.L.C.,不受 AGPL 覆盖;fork 不得使用 Silo 品牌作为身份
  • 许可证为 GNU Affero General Public License v3.0 or later(AGPL-3.0-or-later)

优缺点

  • ✓ 一键编排,部署简单
  • ✓ 支持硬件加速转码
  • ✕ pre-release,API 与配置可
  • ✕ 客户端覆盖不一

出处

本方案挖掘自开源项目 Silo-Server/silo-server,方案内容与实施命令均来自其 README 原文。

方案出处
Silo-Server/silo-server:Self-hosted media streaming server with a Go backend, React web UI, Docker deplo
361 star Self-hosted media streaming server with a Go backend, React web UI, Docker deployment, transcoding, and Jellyfin-compatible APIs.

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。