Serverless Feishu deploy notifier for minibot
ServerlessShip is a lightweight serverless service for minibot deployment notifications. It runs on Vercel Hobby, uses Supabase Free for state, and turns GitHub release or deploy events into Feishu app messages.
The landing page is bilingual and centers the delivery loop:
- User
- GitHub
- GitHub Actions
- ServerlessShip
- Supabase
- Feishu app message
- Message card returned to the user
- Production site: https://serverless-ship.liuyidi.me
- Vercel project:
serverless-ship - Supabase project URL: https://sxzqroltcqtzrvnhlufz.supabase.co
- Deployment target: Vercel Hobby
- Persistence layer: Supabase Free
GET /api/healthfor uptime checksPOST /api/releasesfor release syncPOST /api/webhooks/githubfor GitHub webhook delivery
lib/github-webhook.ts: normalize GitHub webhook payloadslib/card.ts: build Feishu app message cardslib/feishu.ts: send Feishu app messageslib/supabase.ts: read and write release statelib/env.ts: centralize environment access
The repository includes a production deploy workflow at /.github/workflows/deploy-to-vercel.yml.
It expects these secrets:
VERCEL_TOKENVERCEL_ORG_IDVERCEL_PROJECT_ID
For release notifications from another repo, call POST /api/releases with the release payload and the per-project bearer token.
If the Authorization: Bearer <token> header is missing, the API returns 401 project token is required.