Docker 一键部署高颜值到期提醒系统,完美集成 iOS/Google 日历


🌟 前言
日常工作和生活中,会遇到大量「需要定期处理」的事情: 域名续费、服务器到期、订阅会员、eSIM 有效期、证书更新、年费服务……
当管理对象逐渐增多时,依赖人工记录和提醒往往难以覆盖全部场景,容易因疏忽导致服务中断或额外成本。
RenewHelper 是一款专注于到期与续期管理的开源工具,支持周期计算、自动提醒与多渠道通知。本文将重点介绍其 基于 Docker 的自托管部署方式,帮助你快速搭建一套可长期稳定运行的到期提醒系统。
💡 项目简介
RenewHelper 是一个开源的到期管理与提醒系统,适用于:
-
各类订阅服务(会员 / VPS / API / SaaS)
-
域名、证书、服务器、手机号、eSIM
-
任何有“到期时间 / 周期”的事务
项目支持 周期计算、农历模式、自动续期、消息推送、ICS 日历订阅 等能力,界面简洁、逻辑清晰,非常适合技术人员和重度订阅用户。
🎯 核心特性
-
🔒 数据私有: 支持 Docker 自托管,所有数据掌握在自己手中。
-
🎨 界面清爽: 简洁直观的 UI 设计,支持深色模式。
-
📅 灵活周期: 支持按年/月/日循环,甚至支持农历(适合记录生日)。
-
🤖 自动化策略: 支持到期自动续期或自动禁用,减少手动操作。
-
🔔 多端通知: 内置
Telegram,Bark,PushPlus,NotifyX, 飞书/钉钉/企微/等Webhook推送,支持自定义通知模版。 -
🗓️ 日历订阅: 提供标准的
.ics订阅链接,可完美接入iOS日历、Google Calendar或Outlook,支持基于时区的精确提醒并同步到您的手机日程中。 -
🌙 农历支持: 非常适合生日、农历周期事项。
📦 快速开始(Docker 部署)
本文重点介绍 Docker 部署方案。该方案利用 Miniflare 在本地模拟 Cloudflare Workers 环境,配合 Node-cron 实现稳定的定时任务,适合需要完全数据控制和自托管能力的用户。
提示:项目同时支持 Cloudflare Workers 零成本部署方式,详见项目 README。
🚀 部署前准备
环境要求:
-
一台安装了 Docker 和 Docker Compose 的服务器(VPS、Nas 或本地机器)
-
系统:Linux、Windows、macOS 均可
验证安装:
docker compose version
🚀 Docker 一键部署
1️⃣ 创建项目目录
mkdir renewhelper && cd renewhelper2️⃣ 创建 docker-compose.yml
services:
renewhelper:
image: docker.1ms.run/ieax/renewhelper:latest
container_name: renewhelper
restart: unless-stopped
ports:
- "9787:9787"
volumes:
- ./data:/data
environment:
- AUTH_PASSWORD=admin
- CRON_SCHEDULE=0,30 * * * *
- TZ=Asia/Shanghai📌 参数说明(非常重要):
-
AUTH_PASSWORD****:登录密码(请务必修改) -
CRON_SCHEDULE****:定时检查频率(示例为每 30 分钟) -
TZ****:容器运行时区
3️⃣ 启动服务
docker compose up -d4️⃣ 访问 Web 界面
浏览器打开:
http://你的服务器IP:9787🔐 初始访问与配置
-
访问地址:
http://your-server-ip:9787 -
登录密码:
AUTH_PASSWORD设置的值(默认 admin)
📷 项目界面预览
- 登录页

- 首页总览

- 全部服务列表

⚠️ 重要提示:时区设置
为了确保通知准确,请双重检查:
-
Docker 环境变量,
TZ:决定任务执行时间(例如Asia/Shanghai)。 -
网页端 → 系统设置 → 偏好时区:决定提醒计算的本地时间。
两处一致,才能避免“提醒延迟”问题!
💾 数据备份与迁移
所有数据均本地保存,不依赖云服务。
-
📁 数据目录:
./data -
📦 备份方式:直接打包
data目录 -
🔄 迁移方式:
-
将
data复制到新服务器启动容器即可自动恢复
🔄 更新版本
当项目发布新版本时,仅需两条命令:
docker compose pull
docker compose up -d⚙️ 初始配置
-
首次登录:使用您设置的 AUTH_PASSWORD(默认 admin)解锁。
-
系统设置:点击控制台右上角的 系统设置 (SETTINGS) 按钮。
-
🌏时区设置(必须):非常重要!请选择您所在的时区(如 Asia/Shanghai),这决定了提醒和日历的准确性。
-
🔔通知总开关(必须打开):开启后可配置具体的推送渠道。
📣 推送渠道配置

🛠 使用方法说明
🔁 工作流程概览

📣 消息推送配置
推送到 Bark(iOS 用户推荐)

配置步骤:
-
App Store下载Bark应用 -
打开
App,复制显示的服务器地址和Device Key -
在
RenewHelper系统设置中填入这两个参数
-
服务器URL:
https://api.day.app -
设备Key:
你的设备key

推送到飞书 Webhook

配置步骤:
-
在飞书群聊中添加 自定义机器人
-
复制
Webhook地址 -
在
RenewHelper的Webhook配置中填入
-
服务器URL:
https://open.feishu.cn/open-apis/bot/v2/hook/ -
消息体 (JSON)
{
"msg_type": "text",
"content": {
"text": "{title}
{body}"
}
}
其他推送渠道配置方法,请参考项目 README 或系统设置中的提示。
📆 ICS 日历订阅(强烈推荐)
RenewHelper 支持 标准 ICS 日历订阅,可无缝集成到iOS 日历 App 中!
设置流程
-
进入 系统设置 → 日历订阅,复制生成的 ICS 链接(含安全令牌)。
-
在日历应用订阅:


支持平台
iOS 设置 → 邮件 → 账户 → 添加账户 → 其他 → 添加订阅日历
Google Calendar 添加日历 → 通过 URL 导入
Outlook Web 日历导入
移动端日历 添加 CalDAV 订阅 / ICS
iOS 日历效果预览

💡 提示:订阅链接包含用于隐私保护的安全令牌。如果不慎分享,请立即使用"重置令牌"选项生成新的安全链接。
🔗 相关链接
🎉 总结
RenewHelper 是一款高效、开源的订阅管理工具,通过 Docker 部署,可以轻松自建一套私有化的到期提醒系统。无论是日常订阅还是各类周期性事项管理,都能有效降低遗漏风险,提升整体管理效率。
🔔 关注我,获取更多技术干货和开源项目分享!
如果本文对你有帮助,欢迎 👍点赞 / ⭐收藏 / 📣转发 给朋友!