准备工作
点击前往,点击 新增访问密钥 创建并保存密钥,密钥创建后无法再次查看请妥善保存
点击前往,点击 创建组织,输入组织名称后创建,注意记住组织名称后面将会用到
注意:默认使用的地区是 华南-广州(cn-south-1),可在左上角点击切换最近的地区
镜像同步
点击Fork仓库,进入 Fork 后的仓库依次点击 Settings → Secrets and variables → Actions 分别添加 Secrets 和 Variables
| 名称 | 类型 | 描述 | 示例值 |
|---|---|---|---|
ACCESSKEY |
Secret | 华为云 AK 密钥 | — |
SECRETACCESSKEY |
Secret | 华为云 SK 密钥 | — |
IMAGE_REGION |
Variable | 区域 | cn-south-1 |
IMAGE_GROUP |
Variable | 组织名 | sync |
添加完成后,有两种方法同步
方法一:修改文件
在 Fork 后的项目根目录找到 images.txt,写入需要同步的镜像,例如:
apache/kvrocks:latest
ghcr.io/moontechlab/lunatv:latest
提交到 main 分支后,GitHub Actions 将自动同步至华为云
方法二:手动触发
打开 Fork 后的仓库,点击 Actions 标签,选择 Sync Images → Run workflow
输入镜像名,如 apache/kvrocks:latest 后点击 Run workflow,等待同步完成
部署 MoonTV
MoonTV 支持的环境变量
| 变量 | 说明 | 可选值 | 默认值 |
|---|---|---|---|
USERNAME |
管理员账号(必填) | 任意字符串 | 无 |
PASSWORD |
管理员密码(必填) | 任意字符串 | 无 |
NEXT_PUBLIC_SITE_NAME |
站点名称 | 任意字符串 | MoonTV |
ANNOUNCEMENT |
公告信息 | 任意字符串 | 本站仅提供影视信息搜索服务… |
NEXT_PUBLIC_STORAGE_TYPE |
播放记录存储方式 | redis/kvrocks/upstash | 无 |
KVROCKS_URL |
kvrocks 连接 URL | url | 空 |
REDIS_URL |
redis 连接 URL | url | 空 |
UPSTASH_URL |
upstash redis 地址 | url | 空 |
UPSTASH_TOKEN |
upstash token | token | 空 |
NEXT_PUBLIC_ENABLE_REGISTER |
是否开放注册 | true/false | false |
NEXT_PUBLIC_SEARCH_MAX_PAGE |
最大搜索页数限制 | 1-50 | 5 |
NEXT_PUBLIC_DOUBAN_PROXY_TYPE |
豆瓣数据代理方式 | direct/proxy/custom | direct |
NEXT_PUBLIC_DISABLE_YELLOW_FILTER |
关闭敏感内容过滤 | true/false | false |
在服务器上新建 docker-compose.yaml,特别注意修改 image 的地区和组织名称
services:
moontv-core:
image: swr.cn-south-1.myhuaweicloud.com/sync/lunatv:latest
container_name: moontv-core
restart: unless-stopped
ports:
- '127.0.0.1:3000:3000'
environment:
- USERNAME=用户名
- PASSWORD=密码
- NEXT_PUBLIC_STORAGE_TYPE=kvrocks
- KVROCKS_URL=redis://moontv-kvrocks:6666
networks:
- moontv-network
depends_on:
- moontv-kvrocks
moontv-kvrocks:
image: swr.cn-south-1.myhuaweicloud.com/sync/kvrocks:latest
container_name: moontv-kvrocks
restart: unless-stopped
volumes:
- kvrocks-data:/var/lib/kvrocks
networks:
- moontv-network
networks:
moontv-network:
driver: bridge
volumes:
kvrocks-data:
先切换到管理员
sudo -i
拉取镜像
docker compose pull
首次使用需按提示登录华为云,拉取完成后启动服务
docker compose up -d
访问站点地址,使用用户名和密码登录后,右上角点击 👤进入管理面板,点击 配置文件,订阅URL输入
https://gist.githubusercontent.com/senshinya/5a5cb900dfa888fd61d767530f00fc48/raw/gistfile1.txt
点击 拉取配置,拉取成功后点击保存,再点击左上角 MoonTV 回到主页开始使用
参考链接
- https://github.com/lomtom/sync-images
- https://github.com/MoonTechLab/LunaTV