docker部署lunaTV免费在线影视站
前言
此项目原moontv因太火被举报删库。作者闭源后只提供docker部署。项目页:https://github.com/MoonTechLab/LunaTV
部署
注册upstash免费Redis
upstash是一个免费的数据库平台
注册&登录-创建一个redis数据
1.复制数据库https地址,如下下图
填入UPSTASH_URL变量
2.点击复制数据库的写入token,如下图
填入UPSTASH_TOKEN变量
docker-compose
services:
moontv-core:
image: ghcr.io/moontechlab/lunatv:latest
container_name: moontv-core
restart: unless-stopped
ports:
- '8080:3000'
environment:
- USERNAME=admin
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=upstash
- UPSTASH_URL=https://heroic-xxx.upstash.io
- UPSTASH_TOKEN=AdxxxEyYnAxNTU4Njk
PASSWORD:自定义密码
配置
程序只是空壳需要自行配置数据网站
部署后打开ip:端口-登录-控制面板-配置文件-配置订阅
https://gist.githubusercontent.com/senshinya/5a5cb900dfa888fd61d767530f00fc48/raw/gistfile1.txt
拉取订阅-保存即可
自动更新
写一个sh脚本
# 拉取最新镜像,并将输出存储在变量中
output=$(docker pull ghcr.io/moontechlab/lunatv:latest 2>&1)
# 检查拉取命令是否成功执行
if [ $? -ne 0 ]; then
exit 1
fi
# 检查输出中是否包含特定字符串
echo "$output" | grep -q "Image is up to date for ghcr.io/moontechlab/lunatv:latest"
# 如果镜像已经是最新的,则不执行任何操作
if [ $? -eq 0 ]; then
exit 0
fi
echo "检测到 moontv-core 更新"
# 移除旧的容器
echo "已移除: $(docker rm -f moontv-core)"
# 你需要首先导航到 `docker-compose.yml` 所在的目录
cd /root/docker-file/moontv
# 运行新的容器
echo "已启动: $(docker-compose up)"
# 打印更新时间和版本
echo "更新时间: $(date)"
echo "版本: $(docker inspect ghcr.io/moontechlab/lunatv:latest | grep 'org.opencontainers.image.version' | awk -F'"' '{print $4}')"
# 清理未使用的镜像
docker images | grep 'ghcr.io/moontechlab/lunatv' | grep -v 'latest' | awk '{print $3}' | xargs -r docker rmi > /dev/null 2>&1
echo "已移除旧的镜像."
将脚本写入crontab计划
0 11 * * 5 bash /root/auto.sh
每周五11点执行
❤️ 转载文章请注明出处,谢谢!❤️