在VPS或者飞牛云NAS用Docker搭建一个开箱即用的影视聚合播放器MoonTV

在VPS或者飞牛云NAS用Docker搭建一个开箱即用的影视聚合播放器MoonTV

作者:亿龙科技
发布时间:2025-08-25
更新时间:2025-08-25
image-1751380189470

🎬 MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 + Tailwind CSS + TypeScript 构建,支持多资源搜索、在线播放、收藏同步、播放记录、本地/云端存储,让你可以随时随地畅享海量影视内容,跟之前分享的LibreTV很相似 — 作者表示就是由此启发。

界面

以下是与该项目相关的一些图片:
image-1751380118603
image-1751380143064
Snipaste_2025-07-02_18-58-04

✨ 功能特性

🔍 多源聚合搜索:内置数十个免费资源站点,一次搜索立刻返回全源结果。
📄 丰富详情页:支持剧集列表、演员、年份、简介等完整信息展示。
▶️ 流畅在线播放:集成 HLS.js & VidStack。
❤️ 收藏 + 继续观看:LocalStorage 存储,后续扩展 DB 存储。
📱 PWA:离线缓存、安装到桌面/主屏,移动端原生体验。
🌗 响应式布局:桌面侧边栏 + 移动底部导航,自适应各种屏幕尺寸。
🚀 极简部署:一条 Docker 命令即可将完整服务跑起来,或免费部署到 Vercel。
👿 智能去广告:自动跳过视频中的切片广告(实验性)

部署方法

本项目支持 Vercel、Docker 和 Cloudflare 部署。

使用Docker安装

本教程使用docker的方式安装部署,简单便捷
164b6ac419e23bc5390dc46601a202bf

准备条件

1)一台服务器或者NAS
我们使用飞牛云NAS和VPS来演示
需要vps的可以看以下信息
莱卡云官网
2)本项目使用到的github
https://github.com/LunaTechLab/MoonTV
image-1751380189470
目前只有0.8k个 stars
更多功能可以访问GitHub
3)域名(可选)
域名可以根据自己的需求绑定

①《飞牛NAS上搭建》

直接在docker新增一个compose项目即可
新建项目:

1
moontv

compose配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
services:
moontv:
image: ghcr.io/senshinya/moontv:latest
# 使用来自 GitHub 容器注册表的 MoonTV 镜像(latest 最新版)
container_name: moontv
# 容器名称设为 moontv
restart: always
# 如果容器停止,则始终自动重启
ports:
- '3560:3000'
# 映射主机的 3560 端口到容器内的 3000 端口
environment:
- PASSWORD=asdeth123$%!
# 实例访问密码,留空则不启用密码保护(默认空)
- SITE_NAME=我的影视站
# 站点名称(默认:MoonTV)
- NEXT_PUBLIC_STORAGE_TYPE=localstorage
# 播放记录/收藏的存储方式(默认:localstorage,可选:localstorage、database【暂不支持】)
- NEXT_PUBLIC_ENABLE_BLOCKAD=true
# 是否启用智能去广告功能(实验性)(默认:false,可选:true / false)
- NEXT_PUBLIC_SEARCH_MAX_PAGE=10
# 搜索接口最大可拉取的页数(默认:5,范围:1-50)
- NEXT_PUBLIC_AGGREGATE_SEARCH_RESULT=true
# 搜索结果是否按标题和年份聚合(默认:true,可选:true / false)

启动即可
image-1751384827755
正常启动
image-1751384841218

补充docker可用的镜像仓库

国内如果无法拉取镜像的可以使用
仓库1

1
https://proxy.1panel.live/

仓库2

1
https://docker.1panel.top/

仓库3

1
https://mirror.azure.cn/

仓库4

1
https://hub.rat.dev/

仓库5

1
https://docker.1ms.run

仓库6

1
https://docker.itelyou.cf/

仓库7

1
https://abc.itelyou.cf/

仓库8

1
https://docker.ywsj.tk/

②《vps上搭建》

一、Docker环境部署

在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04

推荐直接用一键脚本

docker安装脚本

1
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose安装脚本

1
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

二、创建docker-compose.yml文件

1
2
mkdir moontv;cd moontv 
# 创建一个目录,并进入此目录

然后再新建docker-compose.yml

1
vim docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
services:
moontv:
image: ghcr.io/senshinya/moontv:latest
# 使用来自 GitHub 容器注册表的 MoonTV 镜像(latest 最新版)
container_name: moontv
# 容器名称设为 moontv
restart: always
# 如果容器停止,则始终自动重启
ports:
- '3560:3000'
# 映射主机的 3560 端口到容器内的 3000 端口
environment:
- PASSWORD=asdeth123$%!
# 实例访问密码,留空则不启用密码保护(默认空)
- SITE_NAME=我的影视站
# 站点名称(默认:MoonTV)
- NEXT_PUBLIC_STORAGE_TYPE=localstorage
# 播放记录/收藏的存储方式(默认:localstorage,可选:localstorage、database【暂不支持】)
- NEXT_PUBLIC_ENABLE_BLOCKAD=true
# 是否启用智能去广告功能(实验性)(默认:false,可选:true / false)
- NEXT_PUBLIC_SEARCH_MAX_PAGE=10
# 搜索接口最大可拉取的页数(默认:5,范围:1-50)
- NEXT_PUBLIC_AGGREGATE_SEARCH_RESULT=true
# 搜索结果是否按标题和年份聚合(默认:true,可选:true / false)

三、执行容器运行命令

1
2
docker-compose up -d 
# 运行容器
1
2
docker-compose ps  
# 查看是否开启成功

正常启动如下所示

1
2
3
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
moontv ghcr.io/senshinya/moontv:latest "docker-entrypoint.s…" moontv 2 hours ago Up 2 hours 0.0.0.0:3560->3000/tcp, [::]:3560->3000/tcp

四、打开web页面使用

成功以后需要打开自己相应的端口(3560)防火墙就可以web端访问了
打开自己VPS的ip加端口在加路径就可进入初始化页面

1
http://ip:3560

输入密码即可使用

image-1751385013932

注意请不要将你的服务公开商业化,避免不必要的法律风险

五、TV端如何使用

这个项目可以配合OrionTV在安卓TV上使用,效果也不错
1.首先下载这个软件安装到自己的电视上
[点我下载OrionTV](https://pan.xunlei.com/s/VOXC78nxxm0jv3jWKIdr46FSA1?pwd=ukqa
#)
001
2.默认是空壳没有任何资源
按图配置即可
002
填入moontv的地址即可
003
保存成功
image-1754723599286
填入密码
image-1754723641643

即可使用
image-1754723664926
image-1754723687292
image-1754723701912
观看中随时可以切换资源站
image-1754723737623

六、绑定域名

如需绑定域名的自行绑定
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名配置好证书就可以用域名来访问了

七、养老版本moontv

养老版本moontv部署

7.1只需要将compose

中的

1
image: ghcr.io/senshinya/moontv:latest

改为

1
image: jackadam/moontv:latest

然后重新拉取镜像即可

7.2或者直接在仓库搜索moontv

image-1755936466903

7.3 离线版的moontv镜像

如果将来这个镜像也下架了,
或者你由于网络原因没法拉取这个镜像
我打包了这个镜像
[jackadam-moontv.tar](https://pan.xunlei.com/s/VOYKweXFQOgPQiGfelpExUpEA1?pwd=x87j
#)
有需要的可以下载

飞牛云NAS导入离线镜像的方法

用ssh登录飞牛云NAS
首先确认ssh开关已开
image-1755940873620
然后切换到root用户

1
sudo -i

然后将tar包上传到任意目录
image-1755941252254
复制文件所在的目录原始路径比如我的是/vol1/1000/docker/images

1
cd /vol1/1000/docker/images

执行以下命令导入即可

1
docker load -i jackadam-moontv.tar

image-1755941421351
重新打开本地镜像可以看到已导入成功
image-1755941456826
最后直接启动即可
image-1755941761632
熟悉的界面又回来了
image-1755942053112

有任何问题可以直接留言或者问我

新人Youtuber,需要您的支持,请务必帮我点赞关注打开小铃铛十分感谢!!!