在 Lunes.host 上使用 Node.js Generic 方式部署 Uptime Kuma 监控面板

在 Lunes.host 上使用 Node.js Generic 方式部署 Uptime Kuma 监控面板

:sparkles: 功能特性

  • :white_check_mark: 每天定时自动备份(默认凌晨 4 点)
  • :white_check_mark: 自动清理超过 5 天的旧备份
  • :white_check_mark: 首次启动自动恢复最新备份
  • :white_check_mark: 支持 ZIP 加密备份(可选)
  • :white_check_mark: WebDAV 云端存储,数据安全可靠

:file_folder: 项目结构

/home/container/
├── package.json
├── .nvmrc
├── config.sh          # ⚙️ 配置文件(需修改)
├── start.sh           # 🚀 启动脚本(需 755 权限)
└── scripts/
    ├── backup.sh      # 💾 WebDAV 备份(需 755 权限)
    └── restore.sh     # 📥 WebDAV 恢复(需 755 权限)

:rocket: 快速开始

:one: 查看端口

在 Lunes.host 控制面板查看分配给你的端口号:

:two: 上传文件并配置权限

上传项目文件:

为脚本添加 755 执行权限:


需要添加权限的文件:

  • start.sh
  • scripts/backup.sh
  • scripts/restore.sh

:three: 修改配置文件

编辑 config.sh,根据你的实际情况修改:

#!/bin/bash
# ============================================
# Uptime Kuma 配置文件
# ============================================

# 端口号(改为你的实际端口)
export PORT="${PORT:-2114}"
export TZ="Asia/Shanghai"

# 预构建包下载地址(无需修改)
export KUMA_DOWNLOAD_URL="https://github.com/oyz8/action/releases/download/2.0.2/uptime-kuma-2.0.2.tar.gz"

# ============================================
# WebDAV 备份配置
# ============================================
export WEBDAV_URL="https://zeze.teracloud.jp/dav/backup/Uptime-Kuma/"
export WEBDAV_USER="你的用户名"
export WEBDAV_PASS="你的密码"

# 备份加密密码(可选,留空则不加密)
export BACKUP_PASS=""

# 每天备份时间(0-23 小时制)
export BACKUP_HOUR=4

# 备份保留天数
export KEEP_DAYS=5

:light_bulb: WebDAV 推荐: 本项目使用 InfiniCLOUD (Teracloud) 作为备份存储

:wrapped_gift: 注册时输入推荐码 PPMZC,可在 20GB 基础上额外获得 5GB 存储空间!

:four: 配置启动命令

在 Startup 设置中填入:

npm start

:five: 启动服务

点击 Start 按钮启动:

:hammer_and_wrench: 手动操作(在启动命令改为下面命令)

# 手动执行备份
bash scripts/backup.sh

# 手动恢复最新备份
bash scripts/restore.sh

# 恢复指定备份文件
bash scripts/restore.sh lunes-host-backup-2024-12-26-10-30-00.zip

:warning: 注意事项

  • 必须使用 Node.js Generic 方式部署
  • 首次启动需要下载预构建包,请耐心等待
  • 确保 WebDAV 目录已提前创建
  • 脚本文件必须有执行权限(755)

:memo: 许可证

MIT License

5 个赞

新的选择

谢谢佬

1 个赞

感谢大佬!

1 个赞