Stremio Web 部署教程:搭建自己的媒体中心 Web 界面

本教程将指导你部署 Stremio Web,它是 Stremio 媒体中心的官方 Web 界面,让你可以通过浏览器访问和管理自己的视频娱乐库,并支持添加各种插件源。


📋 准备工作

1. 环境要求

  • Node.js:版本 22 或更高
  • pnpm:版本 11 或更高。如果未安装,可以通过 npm install -g pnpm 安装。
  • 操作系统:Linux、macOS 或 Windows(通过 WSL 或原生命令行)。
  • 网络:能够访问 npm 和 GitHub 仓库以拉取代码和依赖。

2. 可选依赖

  • Docker:如果希望通过容器方式部署(推荐用于生产环境)。

🛠️ 安装与运行

方式一:本地开发模式(快速体验/开发)

  1. 克隆仓库

    1
    2
    git clone https://github.com/Stremio/stremio-web.git
    cd stremio-web
  2. 安装依赖
    项目使用 pnpm 作为包管理器:

    1
    pnpm install
  3. 启动开发服务器

    1
    pnpm start

    服务器启动后,在浏览器中访问 http://localhost:8080 即可使用。此模式支持热重载 (Hot Reload),方便前端开发和调试。

方式二:使用 Docker 部署(推荐用于生产环境)

Docker 方式将应用打包成镜像,环境隔离且部署更简单。

  1. 构建镜像
    在项目根目录下执行:

    1
    docker build -t stremio-web .
  2. 运行容器

    1
    docker run -p 8080:8080 stremio-web

    同样,打开浏览器访问 http://localhost:8080

  3. 使用已构建的镜像(可选)
    如果不想自己构建,也可以从 Docker Hub 等镜像仓库拉取预构建的镜像(如果有官方发布)。

方式三:生产环境构建(静态文件部署)

如果你希望将构建后的静态文件部署到自己的 Web 服务器(如 Nginx、Apache)或 CDN 上:

  1. 生成生产环境构建文件

    1
    pnpm run build

    此命令会生成一个 build 目录(或类似,具体查看构建输出),其中包含了所有静态资源(HTML、CSS、JS 等)。

  2. 配置 Web 服务器
    build 目录下的文件部署到你的 Web 服务器根目录,并确保服务器正确配置了 SPA(单页应用)的路由回退。以 Nginx 为例,需要将所有的路由请求都指向 index.html


⚙️ 部署与配置选项

1. 环境变量与自定义配置

Stremio Web 默认不需要任何环境变量即可运行。但在某些场景下,你可能需要修改默认端口或 API 端点:

  • 修改监听端口:在启动命令中指定,例如 pnpm start -- --port=3000(具体参数可能因版本而异)。
  • 连接不同的 Stremio API 后端:如果需要连接自定义的 stremio-core 或 API 服务,可能需要修改 Web 应用中的配置或环境变量。具体可查阅项目源码中的 src 目录或官方文档。

2. 作为 PWA(渐进式 Web 应用)安装

Stremio Web 支持 PWA,在支持的浏览器(如 Chrome、Edge)中访问时,地址栏会出现“安装”图标。点击即可将 Stremio Web 作为一个独立的桌面或手机应用安装,体验更接近原生 App。

3. 配置 HTTPS(安全上下文)

许多高级功能(如剪贴板、服务工作者、媒体会话等)需要页面在安全上下文(HTTPS)下运行。在生产环境中,强烈建议使用反向代理(如 Nginx、Caddy)配置 SSL 证书,以 HTTPS 方式提供 Web 服务。Docker 部署时,也可以在容器前挂载 Nginx 或使用 Traefik 等工具。


🧩 与核心服务集成

Stremio Web 本身只是一个用户界面,其核心逻辑由 stremio-core(Rust 引擎,编译为 WebAssembly 在浏览器中运行)驱动,数据来源于 Stremio API 和各类 社区插件 (Addons)

  • 核心依赖:部署时,stremio-web 会从官方源加载 stremio-core WebAssembly 模块。这是默认行为,通常无需额外配置。
  • 使用自定义核心或 API:如果你是开发者,可能需要让 UI 指向本地或自建的 stremio-core 服务。这通常需要修改 webpack.config.js 或源代码中的导入路径,具体方法请参考项目贡献指南。

❓ 常见问题排查

  • pnpm install 失败或速度慢:可以尝试切换 npm 镜像源(如使用淘宝镜像),或确保网络能稳定访问 GitHub 和 npm Registry。同时确认已安装的 Node.js 和 pnpm 版本符合要求。
  • 开发服务器启动后浏览器空白或报错:检查浏览器控制台 (F12) 的具体错误信息。常见原因包括端口冲突(localhost:8080 被占用)、依赖未完全安装或 Node.js 版本不兼容。尝试更换端口或重新执行 pnpm install
  • Docker 构建失败:确保 Docker 环境已正确安装且版本较新。构建过程中可能因网络问题下载依赖缓慢,可以尝试配置 Docker 使用国内镜像加速器。
  • 生产构建文件部署后页面路由(如刷新)报 404:这是 SPA 应用常见问题。需要配置 Web 服务器将所有不存在的资源请求回退到 index.html。具体配置可参考 React 官方部署文档。

通过以上步骤,你可以成功部署 Stremio Web 实例。这是一个纯粹的静态 UI,其强大的功能依赖于 Stremio 庞大的插件生态系统和核心引擎。部署完成后,你可以在其中添加社区提供的各类影视插件,打造属于自己的个性化媒体中心。