跳至主内容

从源代码构建

非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

除了使用二进制包,您还可以直接从源代码构建 Jellyfin。

Jellyfin 支持多种针对不同平台的构建方法,下方提供了所有支持平台的详细指南。

所有软件包构建都从以下两个步骤开始:

  1. 克隆仓库。

    git clone https://github.com/jellyfin/jellyfin-packaging.git
    cd jellyfin-packaging
  2. 初始化子模块。

    git submodule update --init

容器镜像

  1. 使用 Docker 或 Podman 构建容器镜像。

    docker build -t $USERNAME/jellyfin --file docker/Dockerfile .

    podman build -t $USERNAME/jellyfin --file docker/Dockerfile .

    或使用提供的 Python 构建脚本:

    ./build.py auto docker

    如需自定义 Jellyfin 版本标签,可将 "auto" 替换为您需要的版本。

  2. 使用构建好的容器镜像通过 Docker 或 Podman 在新容器中运行 Jellyfin。

    docker run -d -p 8096:8096 $USERNAME/jellyfin

    podman run -d -p 8096:8096 $USERNAME/jellyfin

Linux 或 MacOS

  1. 使用内置的 build 脚本执行构建。

    ./build --help
    ./build --list-platforms
    ./build <platform> all
  2. 生成的压缩包位于 ../bin/<platform> 目录。

备注

这个项目很可能会在未来的某个时候被拆分到一个单独的仓库中。

Windows

  1. Microsoft 官网安装 dotnet SDK 8.0,并安装 Git for Windows。 需确保使用 PowerShell 3 或更高版本。

  2. 在 PowerShell 中将执行策略设置为无限制。

    set-executionpolicy unrestricted
  3. 如需构建高于 10.6.4 版本的 Jellyfin,需要从独立仓库下载构建脚本。

    git clone https://github.com/jellyfin/jellyfin-server-windows.git windows
  4. 运行 Jellyfin 构建脚本。

    windows\build-jellyfin.ps1 -verbose
    • -WindowsVersion-Architecture 参数可根据当前环境优化构建,默认为通用 Windows x64 版本

    • -InstallLocation 参数用于指定编译二进制文件的存放路径,默认为 $Env:AppData\Jellyfin-Server\

    • -InstallFFMPEG 参数会自动从 BtbN 拉取适合当前架构的稳定版 ffmpeg 二进制文件(目前仅支持 x86/x64)并放入 Jellyfin 目录

    • -InstallNSSM 参数会自动从 NSSM 官网 拉取适合当前架构的稳定版 nssm 二进制文件(目前仅支持 x86/x64)并放入 Jellyfin 目录

  5. (可选)使用 NSSM 将 Jellyfin 配置为服务运行。

  6. Jellyfin 现已安装在默认目录或您选择的目录中。

    • 通过 PowerShell 启动:

      &"$env:APPDATA\Jellyfin-Server\jellyfin.exe"
    • 通过 CMD 启动:

      %APPDATA%\Jellyfin-Server\jellyfin.exe
备注

这个项目很可能会在未来的某个时候被拆分到一个单独的仓库中。