moontv部署教程

moontv部署教程

_

🎬 MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 + Tailwind CSS + TypeScript 构建,支持多资源搜索、在线播放、收藏同步、播放记录、本地/云端存储,让你可以随时随地畅享海量免费影视内容。

✒️部署前的一些基本操作见 VPS 中 Docker 相关内容及其操作

项目地址:https://github.com/sudizer/moontv

更新系统软件包安装必要的工具之后正式进行 moontv 项目部署

🖥️创建项目并配置 Docker Compose:

创建一个项目目录:mkdir -p /opt/moontv

进入创建的 moontv 文件夹:cd /opt/moontv

创建并编辑 Docker Compose 配置文件:nano docker-compose.yml

配置文件:

# Docker Compose 配置文件
# 定义所有要运行的服务/容器

services:
  # MoonTV 主应用服务 - 您的影视库
  moontv-core:
    # 使用的 Docker 镜像地址 (GitHub Container Registry)
    image: ghcr.io/moontechlab/lunatv:latest
    # 容器名称 (便于管理)
    container_name: moontv-core
    # 重启策略: 当容器因错误退出(退出码 ≠ 0)时才会自动重启。
    restart: on-failure
    # 端口映射: 主机端口:容器内部端口
    ports:
      - "3000:3000"  # 将容器内3000端口映射到主机的3000端口,左边是服务器端口,右边是容器内部端口。如果想换端口,比如用8080,就改成 '8080:3000'
    # 环境变量配置
    environment:
      - USERNAME=zhichu  # 登录后台管理页面的用户名
      - PASSWORD=123456789  # 登录后台管理页面的密码(必须修改强密码!)
      - NEXT_PUBLIC_STORAGE_TYPE=redis  # 指定使用Redis作为存储后端
      - REDIS_URL=redis://moontv-redis:6379  # Redis连接地址(使用服务名moontv-redis)
    # 网络配置: 连接到自定义网络
    networks:
      - moontv-network
    # 依赖关系: 确保先启动Redis服务
    depends_on:
      - moontv-redis

  # Redis 数据库服务 (用于存储用户数据、收藏等)
  moontv-redis:
    # 使用官方Redis Alpine镜像 (轻量级)
    image: redis:alpine
    # 容器名称
    container_name: moontv-redis
    # 重启策略
    restart: unless-stopped
    # 网络配置
    networks:
      - moontv-network
    # 数据卷映射: 将容器内/data目录映射到宿主机的./data目录
    volumes:
      - "./data:/data"  # 实现数据持久化,防止容器重启后数据丢失

  # Watchtower 自动更新服务
  watchtower:
    # 使用官方Watchtower镜像
    image: containrrr/watchtower
    # 容器名称
    container_name: moontv-watchtower
    # 重启策略
    restart: unless-stopped
    # 卷映射: 赋予Watchtower访问Docker守护进程的权限
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"  # 关键配置: 允许Watchtower控制Docker
    # 环境变量配置
    environment:
      - "WATCHTOWER_CLEANUP=true"  # 更新后自动删除旧镜像,节省磁盘空间
      - "WATCHTOWER_POLL_INTERVAL=3600"  # 检查更新间隔(秒),3600=1小时

# 网络配置部分
networks:
  # 定义自定义网络
  moontv-network:
    driver: bridge  # 使用桥接网络模式,使容器间可以相互通信

启动 MoonTV 项目:docker compose up -d

打开浏览器,在地址栏输入:IP:端口(192.3.253.163:3000)即可访问

注:之后会提示不安全,解决不安全需要在 VPS 部署个人博客中进行 Nginx Proxy Manager (NPM) 反向代理

📌配置文件 JSON 资源:

{
  "cache_time": 7200,
  "api_site": {
    "dyttzy": {
      "api": "http://caiji.dyttzyapi.com/api.php/provide/vod",
      "name": "电影天堂资源",
      "detail": "http://caiji.dyttzyapi.com"
    },
    "heimuer": {
      "api": "https://json.heimuer.xyz/api.php/provide/vod",
      "name": "黑木耳",
      "detail": "https://heimuer.tv"
    },
    "ruyi": {
      "api": "http://cj.rycjapi.com/api.php/provide/vod",
      "name": "如意资源"
    },
    "bfzy": {
      "api": "https://bfzyapi.com/api.php/provide/vod",
      "name": "暴风资源"
    },
    "tyyszy": {
      "api": "https://tyyszy.com/api.php/provide/vod",
      "name": "天涯资源"
    },
    "ffzy": {
      "api": "http://ffzy5.tv/api.php/provide/vod",
      "name": "非凡影视",
      "detail": "http://ffzy5.tv"
    },
    "zy360": {
      "api": "https://360zy.com/api.php/provide/vod",
      "name": "360资源"
    },
    "maotaizy": {
      "api": "https://caiji.maotaizy.cc/api.php/provide/vod",
      "name": "茅台资源"
    },
    "wolong": {
      "api": "https://wolongzyw.com/api.php/provide/vod",
      "name": "卧龙资源"
    },
    "jisu": {
      "api": "https://jszyapi.com/api.php/provide/vod",
      "name": "极速资源",
      "detail": "https://jszyapi.com"
    },
    "dbzy": {
      "api": "https://dbzy.tv/api.php/provide/vod",
      "name": "豆瓣资源"
    },
    "mozhua": {
      "api": "https://mozhuazy.com/api.php/provide/vod",
      "name": "魔爪资源"
    },
    "mdzy": {
      "api": "https://www.mdzyapi.com/api.php/provide/vod",
      "name": "魔都资源"
    },
    "zuid": {
      "api": "https://api.zuidapi.com/api.php/provide/vod",
      "name": "最大资源"
    },
    "yinghua": {
      "api": "https://m3u8.apiyhzy.com/api.php/provide/vod",
      "name": "樱花资源"
    },
    "wujin": {
      "api": "https://api.wujinapi.me/api.php/provide/vod",
      "name": "无尽资源"
    },
    "wwzy": {
      "api": "https://wwzy.tv/api.php/provide/vod",
      "name": "旺旺短剧"
    },
    "ikun": {
      "api": "https://ikunzyapi.com/api.php/provide/vod",
      "name": "iKun资源"
    },
    "lzi": {
      "api": "https://cj.lziapi.com/api.php/provide/vod",
      "name": "量子资源站"
    },
    "xiaomaomi": {
      "api": "https://zy.xmm.hk/api.php/provide/vod",
      "name": "小猫咪资源"
    },
    "liangzi": {
      "api": "https://cj.lziapi.com/api.php/provide/vod/",
      "name": "量子资源"
    },
    "feifan": {
      "api": "http://www.ffzy.tv/api.php/provide/vod/",
      "name": "非凡资源"
    },
    "haiyang": {
      "api": "https://haiyangzy.com/api.php/provide/vod/",
      "name": "海洋资源"
    },
    "hongniu": {
      "api": "https://www.hongniuzy.com/api.php/provide/vod/",
      "name": "红牛资源"
    },
    "jinniu": {
      "api": "http://api.jinniuyun.com/api.php/provide/vod/",
      "name": "金牛资源"
    },
    "kuyun": {
      "api": "https://kuyunzy.co/api.php/provide/vod/",
      "name": "酷云资源"
    },
    "leiying": {
      "api": "https://leiyingzy.com/api.php/provide/vod/",
      "name": "雷鹰资源"
    },
    "shandian": {
      "api": "https://sdzyapi.com/api.php/provide/vod/",
      "name": "闪电资源"
    },
    "shenma": {
      "api": "https://smzy.com/api.php/provide/vod/",
      "name": "神马资源"
    },
    "taopian": {
      "api": "https://taopianapi.com/home/cjapi/as/vod/key/taopian",
      "name": "淘片资源"
    },
    "tiankong": {
      "api": "https://api.tiankongapi.com/api.php/provide/vod/",
      "name": "天空资源"
    },
    "wukong": {
      "api": "https://wukongzy.com/api.php/provide/vod/",
      "name": "悟空资源"
    },
    "xiangjiao": {
      "api": "https://xjzy.com/api.php/provide/vod/",
      "name": "香蕉资源"
    },
    "xinlang": {
      "api": "https://api.xinlangapi.com/api.php/provide/vod/",
      "name": "新浪资源"
    },
    "yatu": {
      "api": "https://yatuzy.com/api.php/provide/vod/",
      "name": "雅图资源"
    },
    "yjys": {
      "api": "https://api.yjys.me/api.php/provide/vod/",
      "name": "影剧影视"
    },
    "yongjiu": {
      "api": "https://yongjiuzy.com/api.php/provide/vod/",
      "name": "永久资源"
    },
    "zhiling": {
      "api": "https://zhilingzy.com/api.php/provide/vod/",
      "name": "指凌资源"
    },
    "ziyuan": {
      "api": "http://www.zyz.com/api.php/provide/vod/",
      "name": "资源站"
    },
    "zuida": {
      "api": "https://zuidazy.com/api.php/provide/vod/",
      "name": "最大资源"
    },
    "agzy": {
      "api": "https://agzy.com/api.php/provide/vod",
      "name": "爱看资源"
    },
    "bajie": {
      "api": "http://zy.bajieziyuan.com/api.php/provide/vod",
      "name": "八戒资源"
    },
    "baozou": {
      "api": "http://www.baozouzy.com/api.php/provide/vod",
      "name": "暴走资源"
    },
    "chaofan": {
      "api": "https://cfzy.com/api.php/provide/vod",
      "name": "超凡资源"
    },
    "dianbo": {
      "api": "http://api.dbzyz.com/api.php/provide/vod",
      "name": "点播资源"
    },
    "feisu": {
      "api": "https://www.feisuzy.com/api.php/provide/vod",
      "name": "飞速资源"
    },
    "fuhuo": {
      "api": "http://fuhuoyun.com/api.php/provide/vod",
      "name": "复活云"
    },
    "gaoqing": {
      "api": "https://gaoqingzy.com/api.php/provide/vod",
      "name": "高清资源"
    },
    "huangjin": {
      "api": "http://hjzy.com/api.php/provide/vod",
      "name": "黄金资源"
    },
    "huohua": {
      "api": "https://huohuazy.com/api.php/provide/vod",
      "name": "火花资源"
    },
    "juhai": {
      "api": "http://juhai.com/api.php/provide/vod",
      "name": "聚海资源"
    },
    "kankan": {
      "api": "http://kankanzy.com/api.php/provide/vod",
      "name": "看看资源"
    },
    "laoya": {
      "api": "http://laoyazy.com/api.php/provide/vod",
      "name": "老鸭资源"
    },
    "longma": {
      "api": "http://longmazy.com/api.php/provide/vod",
      "name": "龙马资源"
    },
    "niuren": {
      "api": "http://www.niurenzy.com/api.php/provide/vod",
      "name": "牛人资源"
    },
    "ouye": {
      "api": "http://ouye.com/api.php/provide/vod",
      "name": "欧耶资源"
    },
    "piaohua": {
      "api": "http://www.piaohuazy.com/api.php/provide/vod",
      "name": "飘花资源"
    },
    "qiezi": {
      "api": "http://qiezi.com/api.php/provide/vod",
      "name": "茄子资源"
    },
    "quanmin": {
      "api": "http://quanmin.com/api.php/provide/vod",
      "name": "全民资源"
    },
    "sanjiu": {
      "api": "http://39zy.com/api.php/provide/vod",
      "name": "39资源"
    },
    "shayu": {
      "api": "http://shayu.com/api.php/provide/vod",
      "name": "鲨鱼资源"
    },
    "shenlan": {
      "api": "http://shenlan.com/api.php/provide/vod",
      "name": "深蓝资源"
    },
    "shier": {
      "api": "http://123.com/api.php/provide/vod",
      "name": "123资源"
    },
    "tianyi": {
      "api": "http://tianyi.com/api.php/provide/vod",
      "name": "天翼资源"
    },
    "tudou": {
      "api": "http://tudou.com/api.php/provide/vod",
      "name": "土豆资源"
    },
    "wanbo": {
      "api": "http://wanbo.com/api.php/provide/vod",
      "name": "万播资源"
    },
    "xianggang": {
      "api": "http://xianggang.com/api.php/provide/vod",
      "name": "香港资源"
    },
    "xiaoyao": {
      "api": "http://xiaoyao.com/api.php/provide/vod",
      "name": "逍遥资源"
    },
    "xingfu": {
      "api": "http://xingfu.com/api.php/provide/vod",
      "name": "幸福资源"
    },
    "xingyun": {
      "api": "http://xingyun.com/api.php/provide/vod",
      "name": "星云资源"
    },
    "xunlei": {
      "api": "http://xunlei.com/api.php/provide/vod",
      "name": "迅雷资源"
    },
    "yingshi": {
      "api": "http://yingshi.com/api.php/provide/vod",
      "name": "影视资源"
    },
    "yingxiong": {
      "api": "http://yingxiong.com/api.php/provide/vod",
      "name": "英雄资源"
    },
    "yizhou": {
      "api": "http://yizhou.com/api.php/provide/vod",
      "name": "一舟资源"
    },
    "youku": {
      "api": "http://youku.com/api.php/provide/vod",
      "name": "优酷资源"
    },
    "youlong": {
      "api": "http://youlong.com/api.php/provide/vod",
      "name": "游龙资源"
    },
    "baiwan": {
      "api": "https://www.baiwanzy.com/api.php/provide/vod",
      "name": "百万资源"
    },
    "guangsu": {
      "api": "http://guangsu.com/api.php/provide/vod",
      "name": "光速资源"
    },
    "huoyan": {
      "api": "https://huoyan.com/api.php/provide/vod",
      "name": "火焰资源"
    },
    "jiguang": {
      "api": "https://jiguang.com/api.php/provide/vod",
      "name": "极光资源"
    },
    "jinpai": {
      "api": "http://jinpai.com/api.php/provide/vod",
      "name": "金牌资源"
    },
    "jisuda": {
      "api": "http://jisuda.com/api.php/provide/vod",
      "name": "极速达资源"
    },
    "jiujiuliu": {
      "api": "http://996.com/api.php/provide/vod",
      "name": "996资源"
    },
    "lanbo": {
      "api": "http://lanbo.com/api.php/provide/vod",
      "name": "蓝波资源"
    },
    "lanniao": {
      "api": "http://lanniao.com/api.php/provide/vod",
      "name": "蓝鸟资源"
    },
    "mantian": {
      "api": "http://mantian.com/api.php/provide/vod",
      "name": "满天星资源"
    },
    "miaobo": {
      "api": "https://miaobo.com/api.php/provide/vod",
      "name": "秒播资源"
    },
    "qimao": {
      "api": "http://qimao.com/api.php/provide/vod",
      "name": "奇猫资源"
    },
    "qiyiguang": {
      "api": "https://qiyiguang.com/api.php/provide/vod",
      "name": "奇艺光资源"
    },
    "rihan": {
      "api": "http://rihan.com/api.php/provide/vod",
      "name": "日韩资源"
    },
    "ronghua": {
      "api": "https://ronghua.com/api.php/provide/vod",
      "name": "荣华资源"
    },
    "sijiu": {
      "api": "http://49zy.com/api.php/provide/vod",
      "name": "49资源"
    },
    "suku": {
      "api": "http://suku.com/api.php/provide/vod",
      "name": "速酷资源"
    },
    "wawa": {
      "api": "http://wawa.com/api.php/provide/vod",
      "name": "哇哇资源"
    },
    "weidu": {
      "api": "https://weidu.com/api.php/provide/vod",
      "name": "维度资源"
    }
  }
}

将上述资源复制粘贴到 moontv 后台管理面板 JSON 中

或使用配置订阅:https://raw.githubusercontent.com/hafrey1/LunaTV-config/main/LunaTV-config.txt

项目地址:https://github.com/hafrey1/LunaTV-config

moontv项目更新 2026-03-01
如何避免IP送中 2026-03-03