Emby
1. 说明
Emby与Plex目前是市面上两款定位几乎相同的多媒体中心软件(区别在于Emby是开源的),从产品价格定位上,两者也是相差无几。Plex的有点在于软件设置傻瓜话,界面更漂亮,有公网的情况下,能自动映射;影片的识别率高。 EMBY也是和Jellyfin一样的产品,其实Jellyfin就是EMBY的开源代码,重新制作的! 所以,两款软件的设置几乎是一模一样,但是Emby要购买会员才能开启硬件转码 PLEX OR Jellyfin,EMBY我都体验过,论综合体验emby实在胜过二者太多,现代化的前端页面,优秀的刮削体验,高度自定义的设置,丰富的插件,还有TV端的KODI可以使用插件链接EMBY,都是PLEX和Jellyfin无法企及的
2. 版本信息
Version: emby/embyserver:4.7.6.0
3. 参考资料
Docker Hub
Emby Embyserver docker hub官方 Linuxserver Emby docker hub ✅Lovechen Embyserver特别版 Zishuo Embyserver开心版
官方资料
其它资料
其它资料1 其它资料2 [其它资料3](https://www.jianshu.com/p/23fab6f50659 其它资料4 IP查询_专业的 IP 地址库_IPIP.NET) IP IP
4. 准备工作
权限准备
管理员权限准备
![[0801 Docker#管理员权限准备]]
硬解驱动及转码权限设置
root用户登录后,输入命令查看uid和gid
id
输出结果:uid=0(root) gid=0(root) groups=0(root),2(daemon),19(log)
判断驱动是否驱动正常. 使用命令查看I915是否加载
lsmod | grep i915
查看/dev/dri 是否有文件,如果为驱动则没有此路径
ls -la /dev/dri
chmod a+x /dev/dri
chmod 666 /dev/dri/renderD128
chmod 666 /dev/dri/card0
chmod 755 /dev/dri
cd /usr/syno/etc.defaults/rc.sysv
vi /usr/syno/etc.defaults/rc.sysv/renderD128.sh
chmod 666 /dev/dri/renderD128
chmod 666 /dev/dri/card0
chmod +x /usr/syno/etc.defaults/rc.sysv/renderD128.sh
cat /usr/syno/etc.defaults/rc.sysv/renderD128.sh
vi /etc/rc.local
`在文件的倒数第二行exit 0的前一行添加脚本文件路径`
/usr/syno/etc.defaults/rc.sysv/renderD128.sh
reboot
另外的方法:
vi /volume1/downloads/renderD128.sh
chmod 666 /dev/dri/renderD128
chmod 666 /dev/dri/card0
#nohup python /volume1/xxx/ServerStatus/clients/client-linux.py >/dev/null 2>&1 &
chmod +x /volume1/downloads/renderD128.sh
进入群晖界面中的控制面板,点击任务计划。点击新增 -> 触发的任务 -> 用户定义的脚本
弹出的界面中常规选项卡下填写一个任务名称,用户账户使用默认的 root,事件选择默认的开机,勾选已启动
弹出的界面中任务设置选项卡下可以填写一个邮件地址用来接收该任务触发时的邮件通知(需事先在控制面板->通知中心->电子邮件的界面中设置好smtp发信邮箱的相关信息),以及具体的执行上一步编写的脚本的命令(这里以上一步编写的脚本为例)
用户定义的脚本
bash /volume1/downloads/renderD128.sh
最后点击确定即可。此时可以在任务计划的列表中看到刚刚添加进去的脚本,且状态是已启动。此时重启群晖测试下你的脚本是不是已经可以开机启动啦
目录准备
物理目录创建
mkdir -p /volume1/{downloads/shared,programfiles,opt} && \
mkdir -p /volume1/docker/dockercompose/emby/{lovechen,}
持久化下载目录/影音目录
~~rm -rf /volume1/video/{movie,tvseries,comicAndAnimation,musicvideo,unrecognized,}~~
mkdir -p /volume1/video/{movie,tvseries,comicAndAnimation,musicvideo,unrecognized,} && \
ls -al /volume1/video
# 指向下载目录,即`emby`的媒体库目录的上级
~~rm -rf /volume1/video/hlink/{movie,tvseries,comicAndAnimation,musicvideo,unrecognized,}~~
mkdir -p /volume1/video/hlink/{movie,tvseries,comicAndAnimation,musicvideo,unrecognized,} && \
ls -al /volume1/video/hlink
# `emby`的媒体库目录
持久化数据目录
rm -rf /volume1/docker/emby/{config,data,nfo,cache,ssl,} && \
mkdir -p /volume1/docker/emby/{config,data,nfo,cache,ssl,} && \
ll /volume1/docker/emby
SSL证书准备
cp -rf /volume1/docker/7816152_nas.baidu.com.pfx /volume1/docker/emby/ssl && \
chmod 775 /volume1/docker/emby/ssl/7816152_nas.baidu.com.pfx && \
ll /volume1/docker/emby/ssl
# 复制多个文件时
# cp -rf /volume1/docker/{7816152_nas.baidu.com.pem,7816152_nas.baidu.com.key} /volume1/docker/emby/ssl && \
# chmod 775 /volume1/docker/emby/ssl/{7816152_nas.baidu.com.pem,7816152_nas.baidu.com.key} && \
# ll /volume1/docker/emby/ssl
映像准备
端口查询
netstat -atunlp | grep -iE 'LISTEN' | grep -iE '8606|8607|1901|8096|8920|1900|7359'
# 8606,8607,1901物理机端口
# 8096,8920,1900,7359容器端口
# 8606:8096 http
# 8607:8920 https
# 1901:1900 dlna
# 7359:7359 local network discovery
lsof -i:8606
kill -9 ID
容器本地查询
docker ps
docker ps -a
docker ps -a | grep emby
docker ps | grep emby
映像本地查询
docker images
docker images | grep emby
docker images -a | grep emby
docker images -aq
映像在线查询
docker search emby
docker search --filter=stars=50 emby
映像在线拉取
Emby Embyserver官方
docker pull emby/embyserver:latest
docker pull emby/embyserver:4.7.6.0
Linuxserver Emby版
docker pull linuxserver/emby:latest
docker pull linuxserver/emby:4.7.2
✅Lovechen Embyserver特别版
docker pull lovechen/embyserver:latest
docker pull lovechen/embyserver:4.7.6.0
ZishuoEmbyserver开心版
docker pull zishuo/embyserver:latest
Yukinococo Emby_crack补丁版
docker pull yukinococo/emby_crack:latest
TheMovieDb之host
获取真实IP
通过百度访问
输入:api.themoviedb.org
或者:raw.githubusercontent.com
来获取真实IP地址
99.84.208.43
99.84.208.57
99.84.208.61
99.84.208.67
--add-host=image.***b.org:104.16.61.155 \
--add-host=image.tmdb.org:104.16.61.155 \
--add-host=api.themoviedb.org:54.192.235.55 \
--add-host=api.themoviedb.org:13.224.161.90 \
--add-host=api.themoviedb.org:13.35.67.86 \
--add-host=api.themoviedb.org:13.224.159.111 \
--add-host=api.themoviedb.org:13.224.166.21 \
--add-host=api.thetvdb.com:13.224.157.34 \
--add-host=www.themoviedb.org:13.226.77.49 \
--add-host=www.themoviedb.org:54.192.151.79 \
5. 容器正式创建
docker-compose
✅Lovechen Embyserver特别版
配置文件
cat >/volume1/docker/dockercompose/emby/lovechen/docker-compose.yml<<'EOF'
version: '3'
services:
emby_lovechen:
image: 'lovechen/embyserver:4.7.11.0'
container_name: emby1
hostname: emby_lovechen
privileged: true
restart: always
ports:
- '8606:8096'
- '8607:8920'
- '1901:1900/udp'
- '7359:7359/udp'
volumes:
- /volume1/docker/emby/config:/config
- /volume1/docker/emby/cache:/cache
- /volume1/docker/emby/nfo:/nfo
- /volume1/docker/emby/ssl:/ssl
- /volume1/video/:/mnt/video
- /volume1/music/:/mnt/music
- /volume1/private/:/mnt/private
environment:
- TZ=Asia/Shanghai
- PUID=0
- PGID=0
- GIDLIST=0,0
- SSL_CERT_FILE="/ssl/10161529_nas.baidu.com.pfx"
- HTTP_PROXY="http://nas.baidu.com:8606"
- HTTPS_PROXY="https://nas.baidu.com:8607"
networks:
bridge0:
ipv4_address: 10.0.0.7
extra_hosts:
- 'api.themoviedb.org:18.160.37.29'
dns:
- 223.5.5.5
- 114.114.114.114
devices:
- /dev/dri:/dev/dri
networks:
bridge0:
external: true
EOF
cat /volume1/docker/dockercompose/emby/lovechen/docker-compose.yml && \
cd /volume1/docker/dockercompose/emby/lovechen
运行镜像
cd /volume1/docker/dockercompose/emby/lovechen
docker-compose up -d
docker-compose up -d && docker logs -f emby1
# 后台运行模式,可以从 docker/docker-compose 的日志中获取默认管理员账户用户名和密码
docker-compose up
# 或者,直接运行,log 将会直接输出在当前控制台中,请注意退出之后保持当前容器运行
# 对整个项目操作启动
docker-compose up 服务id
# 对当前docker-compose中对于的服务id操作
docker-compose -f ./docker-compose.a.yaml -f ./docker-compse.b.yaml up -d
# 多个docker-compose.yaml配置文件创建容器
docker stack deploy -c docker-compose.yml mystack
# 使用Docker堆栈
重启
cd /volume1/docker/dockercompose/emby/lovechen && \
docker-compose restart && \
docker logs -f emby1
cd /volume1/docker/dockercompose/emby/lovechen && \
docker-compose stop && \
docker-compose start && \
docker logs -f emby1
更新
关闭当前运行的容器,此步骤不会删除挂载的配置文件以及相关目录
cd /volume1/docker/dockercompose/emby/lovechen && \
docker-compose stop && \
docker-compose up -d --build && \
docker logs -f emby1
docker-compose down
# 关闭所有容器
# 如果docker-compose down时提示错误
# ERROR: network xxxxl has active endpoints
docker network inspect {network}
# 命令获取{endpoint-name}
docker network disconnect -f {network} {endpoint-name}
# docker network disconnect -f laradock_backend laradock_php-client_1
docker-compose down 服务id
# 关闭某一个服务
Docker Container&docker cli
Emby Embyserver官方
基于内网访问的部署
docker run -itd \
--privileged=true \
--name "emby1" \
--restart=unless-stopped \
--volume /volume1/docker/emby/config:/config \
--volume /volume1/docker/emby/cache:/cache \
--volume /volume1/docker/emby/nfo:/nfo \
--volume /volume1/docker/emby/ssl:/ssl \
--volume /volume1/video/:/mnt/video \
--volume /volume1/music/:/mnt/music \
--volume /volume1/private/:/mnt/private \
--env UID=0 \
--env GID=0 \
--env GIDLIST=0,0 \
--env TZ="Asia/Shanghai" \
--env SSL_CERT_FILE="/ssl/7816152_nas.baidu.com.pfx" \
--net=bridge0 \
--ip=10.0.0.7 \
--dns=223.5.5.5 \
--dns=114.114.114.114 \
--publish 8606:8096 \
--publish 8607:8920 \
--device /dev/dri/renderD128:/dev/dri/renderD128 \
--device /dev/dri/card0:/dev/dri/card0 \
-h emby \
emby/embyserver:4.7.6.0
基于外网访问的部署
docker run -itd \
--privileged=true \
--name "emby1" \
--restart=unless-stopped \
--volume /volume1/docker/emby0/config:/config \
--volume /volume1/docker/emby0/cache:/cache \
--volume /volume1/docker/emby0/nfo:/nfo \
--volume /volume1/docker/emby0/ssl:/ssl \
--volume /volume1/video/:/mnt/video \
--volume /volume1/music/:/mnt/music \
--volume /volume1/private/:/mnt/private \
--env UID=0 \
--env GID=0 \
--env GIDLIST=0,0 \
--env TZ="Asia/Shanghai" \
--env SSL_CERT_FILE="/ssl/7816152_nas.baidu.com.pfx" \
--net=bridge \
--add-host=image.***b.org:104.16.61.155 \
--add-host=image.tmdb.org:104.16.61.155 \
--add-host=api.themoviedb.org:54.192.235.55 \
--add-host=api.themoviedb.org:13.224.161.90 \
--add-host=api.themoviedb.org:13.35.67.86 \
--add-host=api.themoviedb.org:13.224.159.111 \
--add-host=api.themoviedb.org:13.224.166.21 \
--add-host=api.thetvdb.com:13.224.157.34 \
--add-host=www.themoviedb.org:13.226.77.49 \
--add-host=www.themoviedb.org:54.192.151.79 \
--publish 8606:8096 \
--publish 8607:8920 \
--device /dev/dri/renderD128:/dev/dri/renderD128 \
--device /dev/dri/card0:/dev/dri/card0 \
-h emby \
emby/embyserver:4.7.6.0
--restart=always \
--volume /volume1/video/:/mnt/share1 \
--volume /volume1/music/:/mnt/share2 \
--volume /volume1/private/:/mnt/share3 \
--env PUID=0 \
--env PGID=0 \
--device /dev/dri:/dev/dri \
--add-host=image.***b.org:104.16.61.155 \
--add-host=image.tmdb.org:104.16.61.155 \
--add-host=api.themoviedb.org:54.192.235.55 \
--add-host=api.themoviedb.org:13.224.161.90 \
--add-host=api.themoviedb.org:13.35.67.86 \
--add-host=api.themoviedb.org:13.224.159.111 \
--add-host=api.themoviedb.org:13.224.166.21 \
--add-host=api.thetvdb.com:13.224.157.34 \
--add-host=www.themoviedb.org:13.226.77.49 \
--add-host=www.themoviedb.org:54.192.151.79 \
Linuxserver Emby版
docker run -itd \
--privileged=true \
--name "emby0" \
--restart=unless-stopped \
-v /volume1/docker/emby0/config:/config \
-v /volume1/docker/emby0/cache:/cache \
-v /volume1/docker/emby0/nfo:/nfo \
-v /volume1/docker/emby0/ssl:/ssl \
-v /volume1/video/movie:/data/movies \
-v /volume1/video/tvseries:/data/tvshows \
-v /volume1/music:/data/music \
-v /volume1/private/:/data/private \
-e PUID=0 \
-e PGID=0 \
-e GIDLIST=0,0 \
-e TZ=Asia/Shanghai \
-e SSL_CERT_FILE="/ssl/7816152_nas.baidu.com.pfx" \
--net=bridge \
--add-host=image.***b.org:104.16.61.155 \
--add-host=api.themoviedb.org:54.192.235.55 \
--add-host=api.themoviedb.org:13.224.161.90 \
--add-host=api.themoviedb.org:13.35.67.86 \
--add-host=api.themoviedb.org:13.224.159.111 \
--add-host=api.themoviedb.org:13.224.166.21 \
--add-host=api.thetvdb.com:13.224.157.34 \
--add-host=www.themoviedb.org:13.226.77.49 \
--add-host=www.themoviedb.org:54.192.151.79 \
-p 8696:8096 \
-p 8697:8920 \
--device /dev/dri:/dev/dri \
--device /dev/dri/renderD128:/dev/dri/renderD128 \
--device /dev/dri/card0:/dev/dri/card0 \
-h emby \
linuxserver/emby:4.7.2
✅Lovechen Embyserver特别版
基于内网访问的部署
docker run -itd \
--privileged=true \
--name "emby1" \
--restart=always \
-v /volume1/docker/emby/config:/config \
-v /volume1/docker/emby/cache:/cache \
-v /volume1/docker/emby/nfo:/nfo \
-v /volume1/docker/emby/ssl:/ssl \
-v /volume1/video/:/mnt/video \
-v /volume1/music/:/mnt/music \
-v /volume1/private/:/mnt/private \
-e PUID=0 \
-e PGID=0 \
-e GIDLIST=0,0 \
-e TZ="Asia/Shanghai" \
-e SSL_CERT_FILE="/ssl/10161529_nas.baidu.com.pfx" \
-e HTTP_PROXY="http://nas.baidu.com:8606" \
-e HTTPS_PROXY="https://nas.baidu.com:8607" \
--net=bridge0 \
--ip=10.0.0.7 \
--dns=223.5.5.5 \
--dns=114.114.114.114 \
-p 8606:8096 \
-p 8607:8920 \
-p 1901:1900/udp \
-p 7359:7359/udp \
--device /dev/dri:/dev/dri \
-h emby \
lovechen/embyserver:4.7.6.0
注: 参数说明
-e SSL_CERT_FILE="/ssl/7816152_nas.baidu.com.pfx" \
docker run \
#设置网络模式
--network=bridge \
#开放端口
#http
-p '8096:8096' \
#https
-p '8920:8920' \
#dlna
-p '1900:1900/udp' \
#local network discovery
-p '7359:7359/udp' \
#映射配置目录
-v /data/emby:/config \
#映射影视资源目录
-v /data/downloads/:/data \
#设置时区
-e TZ="Asia/Shanghai" \
#映射硬解驱动
--device /dev/dri:/dev/dri \
#设置权限
-e UID=0 \
-e GID=0 \
-e GIDLIST=0 \
--restart always \
#设置代理(用于TMDB等搜集信息)
-e HTTP_PROXY="http://你的代理IP:你的代理端口/" \
-e HTTPS_PROXY="http://你的代理IP:你的代理端口/" \
#docker名字
--name emby \
#docker源版本
-d lovechen/embyserver:版本号
Zishuo Embyserver开心版
docker run -itd \
--privileged=true \
--name "emby" \
--restart=always \
-v /volume1/docker/emby/config:/config \
-v /volume1/video/:/mnt/data \
-e PUID=0 \
-e PGID=0 \
-e GIDLIST=0,0 \
-e TZ="Asia/Shanghai" \
-e HTTP_PROXY="http://nas.baidu.com:8696" \
-e HTTPS_PROXY="https://nas.baidu.com:8697" \
--net=bridge \
-p 8696:8096 \
-p 8697:8920 \
-p 8695:1900/udp \
-p 7359:7359/udp \
--device /dev/dri:/dev/dri \
-h emby \
lovechen/embyserver:4.7.1.0
Emby补丁版
基于外网访问的部署
docker run -itd \
--privileged=true \
--name "emby1" \
--restart=always \
--volume /volume1/docker/emby/config:/config \
--volume /volume1/docker/emby/cache:/cache \
--volume /volume1/docker/emby/nfo:/nfo \
--volume /volume1/video/:/mnt/share1 \
--volume /volume1/music/:/mnt/share2 \
--volume /volume1/private/:/mnt/share3 \
-e PUID=0 \
-e PGID=0 \
-e GIDLIST=0,0 \
-e TZ=Asia/Shanghai \
--net=bridge \
--add-host=image.***b.org:104.16.61.155 \
--add-host=api.themoviedb.org:54.192.235.55 \
--add-host=api.themoviedb.org:13.224.161.90 \
--add-host=api.themoviedb.org:13.35.67.86 \
--add-host=api.themoviedb.org:13.224.159.111 \
--add-host=api.themoviedb.org:13.224.166.21 \
--add-host=api.thetvdb.com:13.224.157.34 \
--add-host=www.themoviedb.org:13.226.77.49 \
--add-host=www.themoviedb.org:54.192.151.79 \
-p 8606:8096 \
-p 8607:8920 \
--device /dev/dri/renderD128:/dev/dri/renderD128 \
--device /dev/dri/card0:/dev/dri/card0 \
-h emby \
yukinococo/emby_crack:latest
--device /dev/dri:/dev/dri \
--device /dev/dri/renderD128:/dev/dri/renderD128 \
--device /dev/dri/card0:/dev/dri/card0 \
--volume /volume1/private/:/mnt/share3 \
--add-host=image.tmdb.org:104.16.61.155 \
--add-host=api.themoviedb.org:54.192.235.55 \
--add-host=api.themoviedb.org:13.224.161.90 \
--add-host=api.themoviedb.org:13.35.67.86 \
--add-host=api.themoviedb.org:13.224.159.111 \
--add-host=api.themoviedb.org:13.224.166.21 \
--add-host=www.themoviedb.org:54.192.151.79 \
--add-host=www.themoviedb.org:13.226.77.49 \
--add-host=http://www.themoviedb.org:13.226.77.49 \
基于内网访问的部署
docker run -itd \
--privileged=true \
--name "emby1" \
--restart=always \
--volume /volume1/docker/emby/config:/config \
--volume /volume1/docker/emby/cache:/cache \
--volume /volume1/docker/emby/nfo:/nfo \
--volume /volume1/video:/mnt/share1 \
--volume /volume1/music:/mnt/share2 \
--volume /volume1/private:/mnt/share3 \
-e PUID=0 \
-e PGID=0 \
-e GIDLIST=0,0 \
-e TZ=Asia/Shanghai \
--net=bridge0 \
--ip=10.0.0.7 \
--dns=223.5.5.5 \
--dns=114.114.114.114 \
--add-host=image.***b.org:104.16.61.155 \
--add-host=api.themoviedb.org:54.192.235.55 \
--add-host=api.themoviedb.org:13.224.161.90 \
--add-host=api.themoviedb.org:13.35.67.86 \
--add-host=api.themoviedb.org:13.224.159.111 \
--add-host=api.themoviedb.org:13.224.166.21 \
--add-host=api.thetvdb.com:13.224.157.34 \
--add-host=www.themoviedb.org:13.226.77.49 \
--add-host=www.themoviedb.org:54.192.151.79 \
-p 8606:8096 \
-p 8607:8920 \
--device /dev/dri/renderD128:/dev/dri/renderD128 \
--device /dev/dri/card0:/dev/dri/card0 \
-h emby \
yukinococo/emby_crack:latest
6. 日志查询
日志查询
docker logs -f emby1
docker logs --tail 10 emby1
docker stop emby1 && docker rm emby1
docker restart emby1
密码查询
注:
- 初始密码参考日志
Initial password: ak9nLJlT - 注意观察密码查询结果
your password: ak9nLJlT
docker exec -it alist1 ./alist -password
7. 容器访问
容器后台
docker exec -it emby1 /bin/bash