目录
废话
2年前,在nas上装过一次jellfin,因为刮削和命名的事就搁浅了。
2年过去了,又想起这个事,于是就准备重新装一下,打开了之前的教程,发现收费了。
谁让咱穷了,自己研究吧。
docker迁移
装docker的时候,把docker装到了ssd上,开始没在意,直到提示我空间不够了,才发现。
只能整体搬家了
导出容器内容和设置
容器-设置-导出
把所有容器导出,然后 关闭容器
导入内容
导入就简单了,容器-设置-导入
两个问题
我在导入时遇到了两个问题
第一个,mysql容器导出的时候,有两个文件,一个是.txr一个是.json,不知道.json怎么用,导入也导入不了,而且和wordpress容器有一个通病,就是导入后,启动容器时提示容器不存在,启动不了。
于是用命令启动两个容器,提到了下面这个提示。
Error response from daemon: network link not found
Error: failed to start containers: f18b0c6a5619
原来是我之前建了一个link的网络,我都忘了这事了,重新生成一个叫link的网络,一切解决。
第二个,就是有一个容器,说什么也导入不进来,提示无法导入,查日志是null
还是用命令导入,得到了下面这个提示。
invalid reference format: repository name must be lowercase
原来是因为docker不支持名字带大写字母,在我把文件名改过之后,一切正常。
删除docker
然后可以删除docker了
小问题
上面我没点那个删除映像、容器和docker文件夹的选项,导致我的空间还是没有释放。
然后进ssh,想直接删除@docker文件夹,但是却提示
rm: cannot remove ‘@docker/btrfs/subvolumes/3547ebd0b68412d79537ce58335dad2be54f5a0ca0c170b059c1b76dc707042a-init’: Operation not permitted
Operation not permitted 搜了一下
检查文件状态:有时文件可能被锁定或者处于特殊状态,导致无法删除。可以使用lsattr命令在Linux上检查文件属性,并使用chattr命令修改它们
群晖想装个命令麻烦死,于是我就想起来一招,原汤化原食。
把docker再装一遍,然后再卸载,然后这次就点这个对勾,然后,就成功了。
Dockerhub
dockerhub目前无法访问(其实已经很久了)
命令行
可视化界面下不了,就用命令行呗
开启nas的ssh
sudo docker pull jellyfin/jellyfin:latest
官网给出了配置命令,但我还是准备图形界面弄
一是因为不熟悉命令,二是之前用命令配置总出现莫名的问题
官方配置命令
docker pull jellyfin/jellyfin:latest # or docker pull ghcr.io/jellyfin/jellyfin:latest
mkdir -p /srv/jellyfin/{config,cache}
docker run -d -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v /media:/media --net=host jellyfin/jellyfin:latest
用阿里镜像加速
1. 安装/升级Docker客户端
推荐安装1.10.0以上版本的Docker客户端,参考文档docker-ce
2. 配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://自己的阿里地址.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Jellyfin
问题解决的差不多了,该到正题了,Jellyfin可以有多种安装方式,下面的选一个就行,我用的是docker
拉映像
上文已经拉完了映像
sudo docker pull jellyfin/jellyfin:latest
新建配置和缓存的文件夹
为了方便管理,容器们的配置文件一般都放在docker目录下。
在docker目录下,新建一个jellyfin文件夹,然后在jellyfin文件夹下新建config和cace文件夹
创建容器
命令行方式
docker run -d \
--name jellyfin \
--user uid:gid \
--net=host \
--volume /path/to/config:/config \ # Alternatively --volume jellyfin-config:/config
--volume /path/to/cache:/cache \ # Alternatively --volume jellyfin-cache:/cache
--mount type=bind,source=/path/to/media,target=/media \
--restart=unless-stopped \
jellyfin/jellyfin
图形界面
点击高级设置-存储空间,比较懒,就把电影放在一个文件夹里了
本地端口随意设置,只要不冲突
设置后启动容器,值得注意的是默认用户名为root,国家和地区是PRC
刮削
MetaShark
进入控制台-插件-新建储存库
https://gitee.com/cwhzy/jellyfin-plugin-metashark/releases/download/manifest/manifest_cn.json
进入控制台-插件-目录 点MetaShark
重启Jellyfin,搞定,最好把防封给勾上
匆匆完结
后续还有很多问题,刮削,命名什么的,到时候在更新,先到这里