环境要求

  • Docker(推荐生产环境),或 Node.js 20+
  • 按实际功能,需能访问 OpenList / 115 / TMDB 等外网
  • 宿主机准备好 STRM 输出目录并挂入容器(Docker 默认 /media)

Docker Compose(推荐)

git clone <你的仓库地址>
cd maxiaotu-strm

编辑 docker-compose.yml:

  • 将媒体卷 /path/to/your/media:/media 改为你的 STRM 输出目录
  • 修改 ADMIN_PASSWORD、SESSION_SECRET 为强随机值
  • 不需要的卷可按需删除或注释
  • 默认 network_mode: host;若改用 bridge,按文件注释配置 ports
docker compose up -d --build

浏览器访问 http://服务器IP:29087,使用环境变量中的管理员密码首次登录。

docker run 示例

docker run -d \
  --name strmone \
  --restart unless-stopped \
  --network host \
  -v /你的数据目录:/app/data \
  -v /你的媒体目录:/media \
  -e PORT=29087 \
  -e TZ=Asia/Shanghai \
  -e ADMIN_PASSWORD=请改成强密码 \
  -e SESSION_SECRET=请改成随机字符串 \
  maxiaotuhub/maxiaotu-strm:latest

不用 host 网络时,去掉 --network host,并加上 -p 29087:29087。

更新与数据持久化

需要持久化的主要是宿主机上的 data 目录(数据库、配置)以及挂载的媒体目录。更新镜像后重建容器,只要卷还在,业务数据一般会保留。

docker compose pull
docker compose up -d --build