CasaOS + Docker 挂载外接硬盘部署 Jellyfin 私人影院

NAS上CasaOS通过Docker部署Jellyfin

今天,我将结合我的实战"踩坑"经验,通过 Docker 命令行完成 Jellyfin 的部署并把所有数据(包括配置文件、缓存和几十上百G的电影库)完美挂载到外接大硬盘上,并附带全套避坑指南!

一、路径映射

Docker 就像一个虚拟机,我们需要在启动它的时候,把宿主机(你的大硬盘)的路径,与容器内部的路径进行"绑定"。

c 复制代码
/config:容器内保存设置和海报墙的地方。
/cache:容器内保存转码临时文件的地方。
/media:容器内读取电影文件的地方。

这个必须得清楚就是用大硬盘里的文件夹,去映射上面这三个虚拟目录。

二、精准定位外接大硬盘路径

  1. 打开 SSH 终端,进入你的外部存储目录:
bash 复制代码
cd /media/devmon/  # 你的系统挂载点可能不同,请根据实际情况查找
  1. 输入 ls,找到你外接硬盘的真实物理全名(例如:sda1-ata-xxxxxx)。
    在硬盘下创建 Jellyfin 所需的专属文件夹:
bash 复制代码
mkdir -p /media/devmon/<你的硬盘全名>/jellyfin/config
mkdir -p /media/devmon/<你的硬盘全名>/jellyfin/cache
mkdir -p /media/devmon/<你的硬盘全名>/jellyfin/media

【非常重要】赋予读写权限,否则 Docker 会因为没有权限而直接崩溃:

bash 复制代码
chmod -R 777 /media/devmon/<你的硬盘全名>/jellyfin

三、启动容器

代码如下:

bash 复制代码
docker run -d \
  --name jellyfin \
  --net=host \
  -v /media/devmon/<你的硬盘全名>/jellyfin/config:/config \
  -v /media/devmon/<你的硬盘全名>/jellyfin/cache:/cache \
  -v /media/devmon/<你的硬盘全名>/jellyfin/media:/media \
  --restart unless-stopped \
  jellyfin/jellyfin:latest

执行完毕后,只要终端输出了一串长长的容器 ID,就说明大功告成!你可以通过浏览器输入 http://你的NAS局域网IP:8096 访问 Jellyfin 了。

踩坑:电影扫描出来了,但是没有海报(刮削失败)!

这是由于TheMovieDb 的 API 经常被 DNS 污染。

  1. 在你的 SSH 终端中打开 hosts 文件:
bash 复制代码
sudo nano /etc/hosts
  1. 在文件最末尾,加上最新的 TMDB 可用 IP 解析(目前比较稳定的几个):
bash 复制代码
# TMDB API & Images
108.138.246.49 api.themoviedb.org
108.138.246.54 api.themoviedb.org
108.138.246.120 api.themoviedb.org
108.138.246.46 api.themoviedb.org
104.16.61.155 image.tmdb.org
104.16.62.155 image.tmdb.org

保存并退出 (Ctrl+O 回车保存,Ctrl+X 退出)。

  1. 回到 Jellyfin 网页,点击电影的右上角...选择 "刷新元数据" (Refresh Metadata),并在"替换所有图像"前打勾。稍等片刻,海报就会刷出来了。
相关推荐
Tian_Hang1 天前
Eclipse Ditto 物模型相关代码
java·运维·服务器·ide·eureka·eclipse
云烟成雨TD1 天前
Kubernetes 系列【4】基础概念
云原生·容器·kubernetes
zhoupenghui1681 天前
【AI大模型应用开发】【项目实战】13.RAG智慧问答项目-(一)项目介绍&项目架构&项目环境配置
人工智能·docker·ai·milvus·rag·attu·rag智慧问答项目
iangyu1 天前
linux配置时间同步
linux·运维·服务器
云烟成雨TD1 天前
Kubernetes 系列【3】使用 kubeadm 创建 K8s 集群
云原生·容器·kubernetes
iPad协议个微协议1 天前
企业微信文件上传下载在自动化系统中的处理方式
java·运维·人工智能·机器人·自动化·企业微信
Tian_Hang1 天前
eclipse ditto 学习笔记
运维·服务器·开发语言·javascript·3d
江畔柳前堤1 天前
第13章:docker生产环境部署实战
运维·git·docker·容器·代码复审
爱喝水的鱼丶1 天前
SAP-ABAP:接口 vs 抽象类:ABAP OOP两类扩展方式的差异与选型原则
运维·性能优化·sap·abap·erp·经验交流
iCxhust1 天前
linux目录是否保存在硬盘 启动后读入解析的
linux·运维·服务器