N1 媒体服务器Docker镜像
在最早写的这篇N1折腾文章中,通过Entware环境安装了各种软件,实现下载浏览等媒体服务。经过上次折腾Docker下安装OpenWRT之后,就想是不是可以把这些软件做成一个Docker镜像方便使用,学习了一下不是很复杂,做成了一个镜像,特此分享。
2020.03.30更新:
- 调整挂载路径,从
/root/exmedia
到/media/exmedia
。 - 新增苹果afp服务,可在Finder中连接。
简介
镜像地址:https://hub.docker.com/r/taoskycn/n1-media-server
包含 Caddy
,FileBrowser
,Transmission
,提供“BT/PT下载”,“HTTP文件浏览”,“WebDAV”,“文件管理” 服务。WebDAV可配合Potplayer, Nplayer, Kodi等软件用于播放视频。
先上几张效果图(因为把原图搞丢了,所以有张大妈的水印😓)。
镜像使用
首先要有Docker,如果是CoreELEC可以直接在插件里面安装。
安装启动
- 拉取镜像(之前反映有官方仓库下载慢的问题,这里用了ustc的mirror)
docker pull docker.mirrors.ustc.edu.cn/taoskycn/n1-media-server:0.1
- 创建并后台运行容器(“/var/media/N”为外接存储路径,根据情况自行修改)
docker run -it -d --name N1 -p 1001-1006:1001-1006 -p 51413:51413 -p 548:548 --privileged=true --mount type=bind,source=/var/media/N,target=/media/exmedia taoskycn/n1-media-server:0.2 /bin/ash
- 进入容器
docker exec -it N1 /bin/ash
- 启动各个服务
/root/start.sh
回车 - 如需停止
/root/stop.sh
- 退出容器
exit
访问和设置
-
Transmission Web:
http://<N1的IP>:1001
,账号密码transmission
:transmission
,已更换WebUI,配置文件位于/root/.config/transmission-daemon/settings.json
。 -
Caddy 文件浏览:
http://<N1的IP>:1002
,账号密码caddy
:caddy
,显示外接存储下的download
目录,配置文件位于/etc/Caddyfile
。 -
Caddy WebDAV:
http://<N1的IP>:1002/webdav
,账号密码caddy
:caddy
,显示外接存储下的download
目录。 -
FileBrowser文件管理:
http://<N1的IP>:1003
,账号密码caddy
:caddy
,可在Web界面修改各项设置。 -
(新增) AFP服务:在Mac OS X的Finder下
Command + K
输入afp://192.168.2.107
点击连接,默认账号密码afp
:afp
,可通过passwd afp
进行密码修改,该服务端口为548
,外网访问需映射该端口。 -
如需外网访问,使用路由器设置端口映射即可,考虑到安全因素,建议修改密码后操作
注意事项
docker run
会映射端口,运行前确认端口未被使用。51413
为transmission交换数据的端口,需要映射到公网(没有好像会影响上传)- 如需手动修改Transmission配置文件,先退出进程。
- 如外网访问各服务问题,可能是运营商屏蔽了特殊端口,可尝试更换端口。
WebDAV配置
Potplayer
播放列表-新建专辑(注意:由于Windows文件命名限制问题,可能有包含特殊符号的无法打开)
NPlayer
网络-新建服务器-WebDAV
Kodi
进入文件区-添加视频-浏览-添加网络位置
总结
最小化满足了媒体服务器的需求,并且具有一定的扩展性,比如玩PT的可以配合浏览器插件远程下载,WebDAV也可以在各个终端使用,也可以分享给别人远程浏览(上行带宽要够大)。
还有一些功能没有添加,如Aria2,因为我个人没有这种需求所以暂未考虑;还有Mac上WebDAV必须缓存完才能播放,之前是用的Netatalk做的一个afp(苹果文件传输)服务器,但是这个东西由于目录权限问题(很神奇),也没有成功,有研究过的希望能分享一下。 0.2版本已增加。