剪藏#xjzyy#剪藏

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

2025 年 12 月 22 日1 分钟
分享Twitter / XTelegram微博

Notion image

🌟 前言

日常工作和生活中,会遇到大量「需要定期处理」的事情: 域名续费、服务器到期、订阅会员、eSIM 有效期、证书更新、年费服务……

当管理对象逐渐增多时,依赖人工记录和提醒往往难以覆盖全部场景,容易因疏忽导致服务中断或额外成本。

RenewHelper 是一款专注于到期与续期管理的开源工具,支持周期计算、自动提醒与多渠道通知。本文将重点介绍其 基于 Docker 的自托管部署方式,帮助你快速搭建一套可长期稳定运行的到期提醒系统。

💡 项目简介

RenewHelper 是一个开源的到期管理与提醒系统,适用于:

  • 各类订阅服务(会员 / VPS / API / SaaS)

  • 域名、证书、服务器、手机号、eSIM

  • 任何有“到期时间 / 周期”的事务

项目支持 周期计算农历模式自动续期消息推送ICS 日历订阅 等能力,界面简洁、逻辑清晰,非常适合技术人员和重度订阅用户。

🎯 核心特性

  • 🔒 数据私有: 支持 Docker 自托管,所有数据掌握在自己手中。

  • 🎨 界面清爽: 简洁直观的 UI 设计,支持深色模式。

  • 📅 灵活周期: 支持按年/月/日循环,甚至支持农历(适合记录生日)。

  • 🤖 自动化策略: 支持到期自动续期或自动禁用,减少手动操作。

  • 🔔 多端通知: 内置 Telegram, Bark, PushPlus, NotifyX, 飞书/钉钉/企微/等 Webhook 推送,支持自定义通知模版。

  • 🗓️ 日历订阅: 提供标准的 .ics 订阅链接,可完美接入 iOS 日历、Google CalendarOutlook,支持基于时区的精确提醒并同步到您的手机日程中。

  • 🌙 农历支持: 非常适合生日、农历周期事项。

📦 快速开始(Docker 部署)

本文重点介绍 Docker 部署方案。该方案利用 Miniflare 在本地模拟 Cloudflare Workers 环境,配合 Node-cron 实现稳定的定时任务,适合需要完全数据控制和自托管能力的用户

提示:项目同时支持 Cloudflare Workers 零成本部署方式,详见项目 README。

🚀 部署前准备

环境要求:

  • 一台安装了 Docker 和 Docker Compose 的服务器(VPS、Nas 或本地机器)

  • 系统:Linux、Windows、macOS 均可

验证安装:

docker compose version

🚀 Docker 一键部署

1️⃣ 创建项目目录

JAVASCRIPT
mkdir renewhelper && cd renewhelper

2️⃣ 创建 docker-compose.yml

JAVASCRIPT
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️⃣ 启动服务

JAVASCRIPT
docker compose up -d

4️⃣ 访问 Web 界面

浏览器打开:

JAVASCRIPT
http://你的服务器IP:9787

🔐 初始访问与配置

  • 访问地址:http://your-server-ip:9787

  • 登录密码:AUTH_PASSWORD 设置的值(默认 admin)

📷 项目界面预览

  • 登录页

Notion image

  • 首页总览

Notion image

  • 全部服务列表

Notion image

⚠️ 重要提示:时区设置

为了确保通知准确,请双重检查:

  1. Docker 环境变量,TZ:决定任务执行时间(例如 Asia/Shanghai)。

  2. 网页端 → 系统设置 → 偏好时区:决定提醒计算的本地时间。

两处一致,才能避免“提醒延迟”问题!

💾 数据备份与迁移

所有数据均本地保存,不依赖云服务。

  • 📁 数据目录:./data

  • 📦 备份方式:直接打包 data 目录

  • 🔄 迁移方式:

  • data 复制到新服务器启动容器即可自动恢复

🔄 更新版本

当项目发布新版本时,仅需两条命令:

JAVASCRIPT
docker compose pull
docker compose up -d

⚙️ 初始配置

  1. 首次登录:使用您设置的 AUTH_PASSWORD(默认 admin)解锁。

  2. 系统设置:点击控制台右上角的 系统设置 (SETTINGS) 按钮。

  • 🌏时区设置(必须):非常重要!请选择您所在的时区(如 Asia/Shanghai),这决定了提醒和日历的准确性。

  • 🔔通知总开关(必须打开):开启后可配置具体的推送渠道。

📣 推送渠道配置

Notion image

🛠 使用方法说明

🔁 工作流程概览

Notion image

📣 消息推送配置

推送到 Bark(iOS 用户推荐)

Notion image

配置步骤:

  1. App Store 下载 Bark 应用

  2. 打开 App,复制显示的服务器地址和 Device Key

  3. RenewHelper 系统设置中填入这两个参数

  • 服务器URL:https://api.day.app

  • 设备Key:你的设备key

Notion image

推送到飞书 Webhook

Notion image

配置步骤:

  1. 在飞书群聊中添加 自定义机器人

  2. 复制 Webhook 地址

  3. RenewHelperWebhook 配置中填入

  • 服务器URL:https://open.feishu.cn/open-apis/bot/v2/hook/

  • 消息体 (JSON)

JAVASCRIPT
{
  "msg_type""text",
  "content": {
    "text""{title}

{body}"
  }
}

Notion image

其他推送渠道配置方法,请参考项目 README 或系统设置中的提示。

📆 ICS 日历订阅(强烈推荐)

RenewHelper 支持 标准 ICS 日历订阅,可无缝集成到iOS 日历 App 中!

设置流程

  1. 进入 系统设置 → 日历订阅,复制生成的 ICS 链接(含安全令牌)。

  2. 在日历应用订阅:

Notion image

Notion image

支持平台

iOS 设置 → 邮件 → 账户 → 添加账户 → 其他 → 添加订阅日历
Google Calendar 添加日历 → 通过 URL 导入
Outlook Web 日历导入
移动端日历 添加 CalDAV 订阅 / ICS

iOS 日历效果预览

Notion image

💡 提示:订阅链接包含用于隐私保护的安全令牌。如果不慎分享,请立即使用"重置令牌"选项生成新的安全链接。

🔗 相关链接

🎉 总结

RenewHelper 是一款高效、开源的订阅管理工具,通过 Docker 部署,可以轻松自建一套私有化的到期提醒系统。无论是日常订阅还是各类周期性事项管理,都能有效降低遗漏风险,提升整体管理效率。

🔔 关注我,获取更多技术干货和开源项目分享!

如果本文对你有帮助,欢迎 👍点赞 / ⭐收藏 / 📣转发 给朋友!

🎁 往期精彩推荐

原文地址: https://mp.weixin.qq.com/s?__biz=MzU1Njc0NDU2OA==&mid=2247485671&idx=1&sn=b58dbf3fec8f15dd926f25d62462ec65&chksm=fa8209f4b21209ad550f20d33c3ffd75d4f4d07309e8bf02e73a7a56d8a20d92b207c597da15&mpshare=1&scene=1&srcid=1221KJNdGtcJJdH02ikPeoAH&sharer_shareinfo=d97783e57cec3ee5571f583b17079df7&sharer_shareinfo_first=d97783e57cec3ee5571f583b17079df7#rd

相关文章