本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
Jellyfin Vue
Jellyfin Vue 是一个实验性的替代性 Jellyfin Web 客户端,基于 Vue.js 开发,可在浏览器中运行。
Jellyfin Vue 并非计划替代主 Jellyfin Web 客户端,且功能尚不完整。
以下简明指南将帮助您部署自己的 Jellyfin Vue 实例。如果您符合以下任一情况:
-
希望快速初次体验
-
不确定是否需要自行部署实例
-
无需进行超出用户自定义范围的全局行为修改
-
已配置好 HTTPS 环境
建议直接使用我们的托管实例。更多信息请参阅 Jellyfin Vue 代码仓库。
部署指南
由于 Jellyfin Vue 仅是 Jellyfin 服务器的前端界面,以下所有操作均假设您已部署 Jellyfin 服务端。 若尚未部署,请先完成服务端配置。
推荐方案:使用 Docker
-
Docker Compose 现已随 Docker 捆绑安装,无需单独安装。建议卸载旧版
docker-compose。 -
Docker Compose 中
version键值已弃用,故下方示例不再包含此配置。
我们将以下列 docker-compose.yml 作为起点:
services:
jellyfin_vue:
container_name: jellyfin_vue
image: ghcr.io/jellyfin/jellyfin-vue:unstable
restart: always
ports:
- 8080:80
labels:
- 'com.centurylinklabs.watchtower.enable=true'
watchtower:
container_name: watchtower
image: ghcr.io/nicholas-fedor/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
TZ: Europe/Madrid
WATCHTOWER_CLEANUP: 1
WATCHTOWER_INCLUDE_RESTARTING: 1
WATCHTOWER_POLL_INTERVAL: 60
WATCHTOWER_LABEL_ENABLE: 1
# Needed so watchtower doesn't restart-loop when updating itself
restart: on-failure
只需在存放 docker-compose.yml 的目录中执行 docker compose up -d 即可完成部署。
此 Compose 文件将实现:
-
Jellyfin Vue 可通过运行容器的宿主机的
8080端口访问 -
Watchtower(分支版本,原版已停止维护)负责将容器更新至代码仓库的最新提交版本。采用此方案的优势在于:
- 当前稳定版尚未发布,仅存在未达质量标准的预发布版本,但已实现重大开发里程碑。
- 官方仅支持最新的
unstable镜像。
在浏览器访问实例后,系统将提示添加服务器。您可使用自有服务器或我们的演示实例:https://demo.jellyfin.org/stable
所需填写的服务器地址需相对于访问 Jellyfin Vue 的设备。例如:
- Jellyfin 服务器位于 192.168.0.10
- Jellyfin Vue 部署于同一服务器
- 客户端地址为 192.168.0.20
此时应输入
http://192.168.0.10,而非http://127.0.0.1或http://localhost
关于服务器连接机制的更多说明,请参阅 Jellyfin Vue 代码库隐私声明
环境变量配置
以下示例展示如何在容器中通过向 jellyfin_vue 配置(位于前述 docker-compose.yml)添加键值来设置环境变量:
environment:
HISTORY_ROUTER_MODE: 1
请参阅可用的环境变量完整参考,在 Jellyfin Vue 的 wiki 中进一步根据您的喜好自定义 Jellyfin Vue。
使用您自己的 Web 服务器
由于 Jellyfin Vue 是一个单页面应用(SPA),您可以使用任何 Web 服务器来托管它:Apache、nginx(Jellyfin Vue Docker 镜像中使用的那个)、Traefik 等...
若您已配置好反向代理,且希望实现更复杂的配置(如通过子路径或子域名提供服务等超出本文档范围的操作),建议改用您自己的 Web 服务器托管 Jellyfin Vue,而非使用 Docker 镜像内置的 nginx 实例。
为实现此目的,请在上面展示的 docker-compose.yml 中的 jellyfin_vue 服务定义中:
-
移除
ports键。 -
添加以下键,并将
_path_替换为您的 Web 服务器期望存放 Jellyfin Vue 资产的文件夹:
network_mode: none
volumes:
- _𝘱𝘢𝘵𝘩_:/dest
# This makes the container do nothing and sleep forever,
# frontend will be copied to _𝘱𝘢𝘵𝘩_ and will be served by your web server
command: /bin/sh -c 'rm -rf /dest/* && cp -r . /dest && sleep infinity'
这种方法:
手动部署
在首次使用这些方法之前,请确保您理解其含义。 Jellyfin Vue 不支持这些方法中的任何一种。
docker run
如果您不想使用 Docker Compose 或自动更新,但仍想使用 Docker,那么这个命令就足够了:
docker run -d -p 8080:80 ghcr.io/jellyfin/jellyfin-vue:unstable
从源代码/构建输出
如果您只是想测试一个 Pull Request,这可能不是必需的。 请改为查看这些说明
默认情况下,如果您无法先检查源代码,切勿信任官方渠道之外的任何人提供的任何资产。 它们可能会危害您的系统或跟踪您的活动!
由于 Jellyfin Vue 是一个 Web 应用程序,使用它只需要设置您自己的 Web 服务器并将其指向 Jellyfin Vue 的资产。您可以通过以下方式获取这些资产:
-
通过从我们的源代码构建您自己的版本。该仓库的 wiki 提供了设置开发环境的说明。
-
通过从 GitHub Actions 制品 获取它们。
- 尽管这些制品是在我们仓库的 CI/CD 中构建的,但某些运行来自外部贡献者创建的 Pull Request,而这些贡献者可能并非善意的!
- 所有由 GitHub Actions 生成的制品都带有来源证明。
- 我们的官方 Docker 镜像由 GitHub Actions 构建,整个过程透明且可审计。
其他文档
-
关于 Jellyfin Vue 的其余文档可以在其 wiki 上找到。
-
您可以查看 GitHub Packages (GHCR)(推荐)或 DockerHub 以获取所有带标签的 Docker 镜像。