想拥有一个属于自己的私人影视库,随时随地看剧、追番、收藏喜欢的电影?MoonTV 就是这样一个工具——一个开源的、跨平台的影视聚合播放器,支持多资源搜索、在线播放、收藏同步和播放记录。而且,它只需要一台 VPS 和几条命令就能部署完成,全程不需要写代码。
今天这篇文章,就带你从零开始,在自己的 VPS 上完整部署一套 MoonTV 私人影视库。全程小白友好,跟着做就行。
MoonTV 是什么?
在开始动手之前,先简单了解一下你要部署的这个东西。
MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 + Tailwind CSS + TypeScript 构建,主要功能包括:
- 多源聚合搜索:内置数十个免费资源站点,一次搜索就能返回全源结果
- 流畅在线播放:集成 HLS.js 和 ArtPlayer 播放器
- 收藏 + 继续观看:支持多端同步进度,看到哪里下次接着看
- PWA 支持:可以安装到手机桌面,像原生 App 一样使用
- 响应式布局:手机、平板、电脑都能自适应
- 智能去广告:自动跳过视频中的切片广告(实验性功能)
部署方式也非常灵活——支持 Docker、Vercel 和 Cloudflare 等多种方式。对于想完全掌控自己数据的用户来说,在 VPS 上用 Docker 部署是最推荐的方式。
准备工作
开始部署之前,需要准备好以下东西:
1. 一台 VPS 服务器:推荐 Debian 或 Ubuntu 系统。配置方面,1核1G 的入门级 VPS 就能跑,如果想更流畅一些,建议 2核2G 以上。
2. SSH 工具:用来连接服务器,比如 FinalShell、Xshell、Termius 等。
3. 一个域名(可选) :如果想用域名访问而不是 IP+端口,可以准备一个域名并解析到你的 VPS 上。
推荐选择华纳云 VPS:华纳云香港节点采用 CN2 GIA 精品线路,国内访问延迟低、速度快,非常适合部署 MoonTV 这类需要流畅播放体验的服务。而且华纳云全系标配独享带宽与纯净独立 IP,不用担心“邻居抢带宽”影响观影体验。
第一步:连接 VPS 并更新系统
用 SSH 工具连接到你的 VPS,填入服务器的 IP 地址、端口(默认 22)、用户名(通常为 root)和密码。第一次连接时会弹出安全提示,点击“接受并保存”即可。
连接成功后,先更新系统软件包:
apt update && apt upgrade -y
这一步会把系统所有软件包更新到最新版本,修复已知安全漏洞。
然后安装一些必要的工具(如果系统里已经有了可以跳过):
apt install sudo curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates -y
第二步:安装 Docker 和 Docker Compose
MoonTV 官方推荐使用 Docker 方式部署。Docker 的好处是把应用和所有依赖打包到一个容器里,不用折腾复杂的环境配置。
依次执行以下命令安装 Docker:
创建文件夹存放 GPG 密钥
mkdir -p /etc/apt/keyrings
添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
设置 Docker apt 仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新软件包列表
apt update
# 安装 Docker Engine 和 Docker Compose
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装完成后,验证一下 Docker 是否正常工作:
docker --version
docker compose version
如果能看到版本号,说明安装成功了。
第三步:部署 MoonTV
5.1 创建项目文件夹
首先创建一个专门存放 MoonTV 配置的文件夹,并进入该文件夹:
mkdir moontv
cd moontv
5.2 创建 docker-compose.yml 配置文件
创建一个 `docker-compose.yml` 配置文件:
vim docker-compose.yml
如果提示 `vim: command not found`,说明系统没有安装 Vim 编辑器。执行 `apt install vim -y` 安装即可。
按一下键盘上的 `i` 键进入“插入模式”,然后粘贴以下配置内容:
yaml
services:
moontv:
image: ghcr.io/senshinya/moontv:latest
container_name: moontv
restart: always
ports:
- '3000:3000'
environment:
- PASSWORD=你的访问密码
- SITE_NAME=我的影视库
- NEXT_PUBLIC_STORAGE_TYPE=localstorage
- NEXT_PUBLIC_ENABLE_BLOCKAD=true
- NEXT_PUBLIC_SEARCH_MAX_PAGE=10
- NEXT_PUBLIC_AGGREGATE_SEARCH_RESULT=true
配置参数说明:
| 参数 | 说明 |
| `image` | MoonTV 的 Docker 镜像地址 |
| `ports` | 端口映射,`3000:3000` 表示把容器内的 3000 端口映射到服务器的 3000 端口 |
| `PASSWORD` | 访问密码,建议设置一个 |
| `SITE_NAME` | 网站名称,可以改成你喜欢的名字 |
| `NEXT_PUBLIC_STORAGE_TYPE` | 存储方式,`localstorage` 表示本地存储 |
| `NEXT_PUBLIC_ENABLE_BLOCKAD` | 是否开启去广告功能,`true` 开启 |
粘贴完成后,按 `Esc` 键退出插入模式,输入 `:wq` 保存并退出 Vim。
如果想换端口:把 `'3000:3000'` 改成 `'自定义端口:3000'`,比如 `'8080:3000'`,访问时就用 `http://IP:8080`。
5.3 启动 MoonTV 容器
执行以下命令启动容器:
docker compose up -d
Docker 会自动拉取 MoonTV 的镜像并启动容器。这个过程可能需要几分钟,取决于网络速度。
查看容器是否正常运行:
docker compose ps
如果状态显示 `Up` 或 `running`,说明部署成功了。
第四步:访问 MoonTV
在浏览器中输入 `http://你的服务器IP:3000` 就能访问 MoonTV 了。
注意:如果访问不了,请检查服务器防火墙是否放行了 3000 端口。
Ubuntu/Debian 使用 UFW 放行端口:
ufw allow 3000/tcp
如果使用云服务商(如华纳云) ,还需要在控制台的安全组中放行 3000 端口。
第五步:绑定域名(可选)
如果想用域名访问而不是 IP+端口,可以配置域名解析和反向代理。
1. 解析域名:在域名管理后台添加一个 A 记录,将你的域名(如 `tv.yourdomain.com`)指向 VPS 的 IP 地址。
2. 使用 Nginx Proxy Manager 配置反向代理(推荐新手使用):
创建一个 NPM 的 docker-compose.yml 文件:
mkdir -p /etc/docker/npm
cd /etc/docker/npm
vim docker-compose.yml
粘贴以下内容:
yaml
services:
app:
image: 'docker.io/jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
启动 NPM:
docker compose up -d
访问 `http://你的服务器IP:81` 进入 NPM 管理面板,初始账号 `admin@example.com`,密码 `changeme`。然后在 NPM 中添加一个代理规则,把域名指向 `http://127.0.0.1:3000`,同时可以申请免费的 SSL 证书开启 HTTPS。
常见问题与注意事项
Q1:部署完成后打开是空白页面怎么办?
可能是镜像拉取不完整或配置文件有误。可以尝试重启容器:`docker compose restart`,或者查看容器日志排查问题:`docker compose logs`。
Q2:搜索不到影片资源怎么办?
MoonTV 本身是一个“空壳”,需要配置播放源。部署完成后,需要在管理后台的配置文件中设置播放源。具体的配置方法可以参考 MoonTV 的官方 GitHub 文档。
Q3:如何更新 MoonTV 到最新版本?
cd moontv
docker compose pull
docker compose up -d
Q4:VPS 配置需要多大?
1核1G 的入门级 VPS 就能运行 MoonTV。如果追求更流畅的体验,建议 2核2G 以上。华纳云提供从 1核1G 到 8核16G 的多种配置,可以根据需求灵活选择。
Q5:部署 MoonTV 需要注意什么?
- 设置访问密码:在 docker-compose.yml 中配置 `PASSWORD` 环境变量,防止他人随意访问你的影视库
- 注意版权风险:MoonTV 聚合的是互联网上的公开资源,使用前请了解相关法律法规
- 定期备份配置:如果修改了配置文件,建议备份 `docker-compose.yml` 和相关的数据卷
在 VPS 上部署 MoonTV 的整个流程可以概括为四步:
1. 准备 VPS:更新系统、安装必要工具
2. 安装 Docker:一键安装 Docker 和 Docker Compose
3. 部署 MoonTV:创建配置文件、启动容器
4. 访问使用:打开浏览器访问 IP:3000
整个过程不需要写代码,只需要复制粘贴命令,20 分钟就能搞定一套属于自己的私人影视库。
华纳云 VPS 是部署 MoonTV 的理想选择——香港节点 CN2 GIA 精品线路确保国内访问流畅不卡顿,独享带宽保障观影体验稳定,纯净独立 IP 让你拥有完全自主的网络环境。从 1核1G 入门款到多核高配企业级方案,华纳云提供灵活的配置选择,满足不同规模的使用需求。
相关内容
