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 hubLovechen Embyserver特别版 Zishuo Embyserver开心版

Emby补丁版A Emby补丁版B Emby补丁版 停更

官方资料

官方 官方2 官方Github

其它资料

其它资料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

密码查询

注:

  1. 初始密码参考日志Initial password: ak9nLJlT
  2. 注意观察密码查询结果your password: ak9nLJlT
docker exec -it alist1 ./alist -password

7. 容器访问

容器后台

docker exec -it emby1 /bin/bash
文章作者: Kinsong
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 kinsong的快乐小窝
技术分类 Docker
喜欢就支持一下吧