系统需求
Kryspal Media 在 Docker 里运行,主机可以是 64 位的 Linux 主机或 NAS。这一页列出主机需要什么:软件、内存、磁盘空间,以及媒体库与网络该怎么准备。
软件#
- 已安装 Docker 与 Docker Compose v2。
- 64 位 Linux 主机。镜像的目标架构是 x86(linux/amd64)与 ARM(linux/arm64)。
- 主机上不需要装别的东西。服务器本身是单个静态二进制文件,不用自己安装 ffmpeg、PostgreSQL 或其他软件包。
镜像里已经包含 ffmpeg 与 ffprobe,只用来抽取字幕、在需要时读取媒体信息,网页播放器的视频直接串流,以及浏览器播不了某种音频格式时转换音频。Kryspal Media 从不转码视频。PostgreSQL 16(含中文搜索扩展)以另一个容器一起提供,不用自己准备数据库。
内存#
- 建议 4 GB 以上。
- 2 GB 也能运行:把 PostgreSQL 的
shared_buffers与effective_cache_size调小(例如 512 MB 与 1 GB)。
磁盘空间#
建议预留 20 GB 以上,用于数据库、图片缓存和备份,最好放在 SSD 上。媒体文件本身可以放在机械硬盘或网络挂载上。
CPU#
不做视频转码,所以不需要很强的 CPU。扫描、海报缩略图和读取媒体信息是主要负载。性能较弱的 NAS 也能运行,只是第一次扫描大型媒体库会久一些。
你的媒体文件#
- 本地文件。 媒体目录默认只读。只有你开启字幕下载、「写回 NFO 与图片」或「允许删除」时,服务器才会写入或删除媒体目录里的文件。
- strm 文件与网盘。 .strm 里的地址必须能从容器内部访问。局域网 IP 可以;只写在主机
/etc/hosts里的主机名,容器内解析不到。 - 权限。 服务器默认以容器的默认用户运行。使用文件 ACL 的 NAS(例如群晖)请在
server服务里加user: "<uid>:<gid>",填媒体库所有者的id -u和主用户组的id -g;这个身份必须能读取媒体库。详见安装页。
实时监控(inotify)#
Linux 上的实时监控,每个媒体库目录大约用一个监看点。大型媒体库可能超过主机的默认上限。超过时服务器会自动改回定时扫描,功能不受影响,只是新文件晚一点出现。想要实时更新,可以调高主机的 inotify 监看点上限。
网络#
- 局域网内用 HTTP 连接即可。
- 要从外网访问,请在前面放一个带 HTTPS 的反向代理,或使用 VPN。Kryspal Media 自己不提供面向公网的防护。
播放器#
Infuse、SenPlayer 等兼容 Emby 或 Jellyfin 的第三方播放器,以及内置的 Kryspal 网页播放器和管理后台。