准备 LXC 模板#
在存储资料面板中选择 local 本地存储,然后选择 CT templates ,并在右侧资源面板的上方点击 Templates 进入模板选择页面。

在弹出的窗口中找到 debian-12-standard 模板,单击选中以后,点击下方的 Download 开始下载。

下载完成以后,会在模板资源面板中看到 debian-12-standard_12.0.1_amd64.tar.zst 模板压缩文件。

提示:可直接关闭下载窗口,下载任务会在后台完成,也可点击下方的 Logs 日志查看下载进度。
创建 LXC 容器(从模板到容器)#
- 常规选项卡- General
- Node:运行虚拟机的物理服务器节点。
- CT ID:容器 ID。这里的容器 ID 是 112。
- HostName:为容器命名。这里命名为 Jellyfin 。
- Password/ConfirmPassword:设置 root 登录密码
- Unprivileged container:取消非特权容器小勾,创建一个特权容器(特权容器可以修改外部资源)

- 模板选项卡- Template
- Stroage:模板文件的存储,选则 local 。
- Template: 容器所使用的模板,debian-12-standard_120.1_amd64.tar.zst 。

- 系统安装磁盘选项卡- Disks
- Storage:容器资源存储位置, 选 local-lvm 。
- Disk size:根据情况调整磁盘大小,这里默认 8GB 。

- CPU 选项卡
- Cores:CPU 核心数,根据业务情况而定,这里设置 2 个核心。

- Cores:CPU 核心数,根据业务情况而定,这里设置 2 个核心。
- 内存选项卡- Memory
- Memory:内存大小可根据虚拟机用途来配置,这里设置内存为 2GB。
- Swap:交换内存设置为 2GB 。

- 网络设备选项卡- Network
- Bridge:网桥默认即可。
- IPv4:选择静态,并设置适当的IP地址/子网和网关地址。
- IPv6:不用填写,选 SLAAC (Stateless Address Auto configuration)

- DNS 选项卡
- DNS 不用填,默认即可。

- DNS 不用填,默认即可。
- 确认容器配置- Confirm
- 确认信息无误后,按 Finish 完成 LXC 容器的创建。

- 确认信息无误后,按 Finish 完成 LXC 容器的创建。
- 配置容器
在资源中心导航栏中选择 112 号容器虚拟机,选择 Options ,在资源面板中选中最下方的 Feature ,然后单击上方的 Edit 进入编辑窗。
在编辑窗口中,将 Nesting NFS SMB/CIFS 三项功能打钩,并点击 OK 完成。

在 LXC 中安装 Jellyfin#
- 启动容器 在资源中心导航栏中选择 112 号容器虚拟机,选择 Console 进入后台终端控制器,在资源面板中输入账户 root 回车并输入密码。
提示:如果资源面板显示黑屏且并无任何信息,则只需按一下键盘的回车键
enter就会显示登录提示。

- 更新 APT 库
apt update
- 升级 APT 库
apt upgrade -y
- 安装
curl和gnupg
apt install curl gnupg- 下载 GPG 签名秘钥并安装
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg- 将以下代码复制到 Console 终端控制台并执行,命令执行完毕会在
/etc/apt/sources.list.d/目录生成jellyfin.sources库配置文件。
export VERSION_OS="$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release )"
export VERSION_CODENAME="$( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release )"
export DPKG_ARCHITECTURE="$( dpkg --print-architecture )"
cat <<EOF | tee /etc/apt/sources.list.d/jellyfin.sources
Types: deb
URIs: https://repo.jellyfin.org/${VERSION_OS}
Suites: ${VERSION_CODENAME}
Components: main
Architectures: ${DPKG_ARCHITECTURE}
Signed-By: /etc/apt/keyrings/jellyfin.gpg
EOF
- 再次更新 APT 库
apt update- 安装 Jellyfin
apt install jellyfin
- 使用 systemctl 命令查看 Jellyfin 服务是否正常启动
systemctl status jellyfin.service
Jellyfin 配置#
登录 Jellyfin Web 管理页面。在浏览器中输入安装 Jellyfin 服务的服务器 IP 地址和端口号,比如,这里安装 Jellyfin 的服务器地址是
http://10.10.1.40:8096。进入 Jellyfin 设置主页,选择你的首选语言。

输入用户名和密码创建 Jellyfin 管理员账户。

点击 Add Media Library 以添加媒体库。

在 Content type 的下拉菜单中选择内容类型。例如,这里选择的是 Movies 。然后在下方的 Folders 右侧点击 + 按钮。

在新窗口中选择媒体内容存放的目录,比如,这里选择的目录是
/media。

确认以后点击下方的 ok 以进行下一步操作。(下面的其他选项配置暂时不用管,默认即可)

会看到新增了一个名为 Movies 的媒体库,点击 Next 继续操作。

设置 Metadata 元数据语言,这里选择默认语言 English 和国家 United States 。

允许远程访问连接服务器,继续下一步。

点击 Finish 以完成服务器初始化设置。

跳转到登录页面,输入刚刚创建的账号和密码,点击 Sign In 登录。


将电影资源传输到
/media目录下;然后在 Jellyfin Web 管理页面中,鼠标移动到 Movies 媒体库的右下角,点击三个竖点;在弹出的选项卡中选择最下方的 Refresh metadata 刷新元数据。稍等片刻,存储在服务器上的电影资源就会显示在 Jellyfin Web 管理页面。
挂载 Samba 共享#
- 工具:
cifs-utils
临时挂载#
- 在 PVE WebGUI 管理页面的容器导航中选择 112 号虚拟机,然后选择 Console 进入容器命令行控制台,在命令行中输入如下代码安装
cifs-utils工具包。
apt install cifs-utils
- 创建 Samba 服务器共享文件的挂载目录。
mkdir /mnt/FileServer_smb- 执行如下代码,并替换语句中的
<username>、//IPAddress/share_name和/mnt/smb这三个参数,便可将 Samba 服务器提供的共享目录挂载到本机的目录上。
mount -t cifs -o username=<username> //IPAddress/share_name /mnt/smbmount -t cifs -o username=root //10.10.1.50/storage /mnt/FileServer_smb- username:登录账户,此处为 root 。
- //IPAddress/share_name:Samba 服务器共享目录,此处为 //10.10.1.50/storage 。
- /mnt/smb:本地挂载目录,此处为 /mnt/FileServe_smb 。
- 回车执行命令后,系统会提示输入 root 密码,密码认证成功后不会有任何输出。
- 验证远程挂载是否成功,可以使用
mount或者df -h命令
mount
df -h
添加凭据文件#
为了安全起见,挂载 Samba 共享最好使用包含用户名和密码的凭据文件。
- 在
/etc/目录下新建一个fileserver_credentials文件,并用 vim.tiny 打开,将如下两行代码添加到文件中,其中root为账户名,password为账户密码。最后输入:号后输入wq保持并退出。
vim.tiny /etc/fileserver_credentials
username=root
password=passowrd
- 要使用凭据文件挂载 Samba 共享,执行如下命令:
mount -t cifs -o credentials=/etc/fileserver_credentials //10.10.1.50/storage /mnt/FileServer_smb自动挂载#
在以上的临时挂载方案中,如果重新启动系统,挂载就会消失。想要让系统开机后自动挂载目录,需要执行如下步骤:
- 用 vim.tiny 打开
/etc/fstab文件。
vim.tiny /etc/fstab- 将如下代码添加到
fstab文件中。
# <file system> <dir> <type> <options> <dump> <pass>
//10.10.1.50/storage /mnt/FileServer_smb cifs credentials=/etc/fileserver_credentials 0 0
- 运行
mount -a命令让fstab文件中的挂载配置生效。可重启系统查看挂载是否成功。
systemctl daemon-reload # 重载系统配置
mount -a # 挂载 fstab 文件中的配置挂载 NFS 共享#
临时挂载#
- 在 112 号容器上安装 NFS 客户端工具包
nfs-common
apt install nfs-common- 使用
showmount -e nfs_server_ip命令查看服务器端所提供的共享服务
showmount -e 10.10.1.50
- 创建 NFS 客户端挂载目录
mkdir -p /mnt/FileServer_nfs- 使用
mount命令临时挂载 NFS 服务器共享文件
mount nfs_server_ip:/nfsshare_name /mnt/nfsmount 10.10.1.50:/srv /mnt/FileServer_nfs- 使用
mount或df -h验证已挂载的文件系统
mount
df -h
自动挂载#
为了让客户端系统在开机时能自动挂载共享文件,需要执行如下步骤:
- 修改
/etc/fstab文件
vim.tiny /etc/fstab- 添加以下信息,使用自己的网络共享设置替换
nfs_server_ip:/nfsshare_name、和/mnt/nfs。
nfs_server_ip:/nfsshare_name /mnt/nfs nfs4 default,user,exec,_netdev 0 010.10.1.50:/srv /mnt/FileServer_nfs nfs default,user,exec,_netdev 0 0nfs_server_ip:/nfsshare_name: NFS 服务器共享目录,这里是10.10.1.50:/srv。/mnt/nfs:客户端挂载目录,这里是/mnt/FileServer_nfs。nfs:nfs 版本。default,user,exec:允许任何用户挂载文件系统,也允许他们执行二进制文件。_netdev:在启用网络之前,它将阻止客户端尝试挂载 nfs 文件系统。
- 运行
mount -a命令让fstab文件中的挂载配置生效。
systemctl daemon-reload # 重载配置
mount -a挂载 PVE 目录#
也可直接从 Proxmox 主机节点中使用 Proxmox Container Toolkit (pct) 命令挂载目录到 LXC 容器。
- 切换到 Proxmox 节点的 Shell 终端下;
- 执行
pct set语句,语法如下:
pct set <CTID> -mp[0] <PVE_DIR>,mp=<Path>CTID:容器ID。PVE_DIR:Proxmox 节点某一要共享的目录。Path:容器挂载目录。 下面语句的意思是:将 Proxmox 节点的/mnt/pve/share_nas2/Movies目录挂载到 112 号 LXC 容器的/mnt/movies目录。
pct set 112 -mp0 /mnt/pve/share_nas2/Movies,mp=/mnt/movies
- 完成命令,切换到 112 号容器的 Resources 资源面板,可以看到新增了一个挂载点。

