最简单的自动保活 Supabase 项目,防止因不活跃而被暂停。
- ✅ 使用 GitHub Actions 定时执行
- ✅ 每天自动运行 2 次(UTC 0:00 和 12:00)
- ✅ 支持手动触发
- ✅ 完全免费
登录 Supabase Dashboard,进入 SQL Editor,执行:
-- 创建保活表
CREATE TABLE IF NOT EXISTS keepalive (
id SERIAL PRIMARY KEY,
pinged_at TIMESTAMP DEFAULT NOW()
);
-- 创建索引
CREATE INDEX IF NOT EXISTS idx_keepalive_pinged_at ON keepalive(pinged_at);
-- 自动清理函数(只保留最近 100 条记录)
CREATE OR REPLACE FUNCTION cleanup_keepalive()
RETURNS void AS $$
BEGIN
DELETE FROM keepalive
WHERE id NOT IN (
SELECT id FROM keepalive
ORDER BY pinged_at DESC
LIMIT 100
);
END;
$$ LANGUAGE plpgsql;可直接fork项目 https://github.com/ongwu/supabase-keepalive/fork
fork后 ,在仓库设置中添加以下 Secrets:
进入仓库 → Settings → Secrets and variables → Actions
点击 New repository secret
添加以下两个 secrets:
SUPABASE_URL 你的 Supabase 项目 URL(例如:https://xxx.supabase.co)
SUPABASE_KEY 你的 Supabase Service Role Key(以 sb_secret_ 开头)
进入 Actions 标签
选择 Supabase Keepalive workflow
点击 Run workflow 按钮手动触发
查看运行日志确认成功,成功可在Supabase仪表盘查看Requests:

编辑 .github/workflows/keepalive.yml 中的 cron 表达式。
进入 Actions 标签可以查看所有运行记录和日志。