欢迎光临
我们一直在努力

用Docker搭建一个开箱即用的影视聚合播放器MoonTV

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

界面
以下是与该项目相关的一些图片:Docker教学Docker教学

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

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

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

Docker教学

准备条件
1)一台服务器或者NAS
我们使用飞牛云NAS和VPS来演示
2)本项目使用到的github
https://github.com/LunaTechLab/MoonTV

①《飞牛NAS上搭建》

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

新建项目:

moontv

compose配置如下:

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)

Docker教学Docker教学

②《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

推荐直接用一键脚本

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

docker-compose安装脚本

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文件

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

然后再新建docker-compose.yml

vim docker-compose.yml
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)

四、打开web页面使用

http://ip:3560

输入密码即可使用

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:安卿辰博客 » 用Docker搭建一个开箱即用的影视聚合播放器MoonTV
分享到: 生成海报

热门推荐

评论 抢沙发

安卿辰博客 专业 快捷

联系我们联系我们
切换注册

登录

忘记密码 ?

切换登录

注册