logo
icon

Convoy

开源企业级 Webhook 网关,安全、可扩展、可靠。已捆绑 PostgreSQL 与 Redis,一键部署。

template cover
部署次数0
发布者adrian539859
创建于2026-05-20
标签
ToolBackend

在 Zeabur 上部署 Convoy

Convoy 是一款快速、安全的开源 Webhook 网关。它管理外发 Webhook(重试、限流、签名、投递日志)和接收 Webhook(HMAC 校验、来源管理、重放)。本模板会在 Zeabur 上以一键自托管方式部署 Convoy,并同时部署它需要的两个服务:PostgreSQL(持久化)和 Redis(队列)。

Convoy 由 Frain Technologies 开发,采用 Elastic License 2.0。本模板只是部署配方 — 你自托管自己的实例,完全掌控数据和 API 密钥。


包含内容

一个项目,三个服务:

服务镜像用途
convoygetconvoy/convoy:latestAPI、控制台、Webhook 投递 Worker(单二进制)。首次启动自动执行数据库迁移。
postgresqlpostgres:18存储项目、端点、事件、投递、尝试记录
redisredis/redis-stack-server:latest队列、限流计数、缓存

Convoy 通过 Zeabur 私有网络自动连接 PostgreSQL 和 Redis,无需手动配置。

部署步骤

  1. 点击模板上的 Deploy
  2. 选择 Convoy 域名 前缀(默认即可用于测试 — 之后可以在 Zeabur 控制台绑定自定义域名)。
  3. 等待约 30 秒让三个服务启动。Convoy 首次启动会自动执行数据库迁移。
  4. 打开 Zeabur 为 convoy 服务显示的链接。

首次登录

首次启动时,Convoy 会自动创建默认超级用户。在 convoy 服务的运行时日志中可以看到:

Superuser created successfully:
  Username: [email protected]
  Password: default

用这组凭据登录后,请立即

  1. 创建你自己的组织和用户。
  2. 删除默认的 [email protected]
  3. 为正式流量轮换 API 密钥。

下一步

  • 发送第一个 Webhook:在控制台创建 Project → 添加 Endpoint → 发布 Event。Convoy 会签名、投递并记录结果。
  • 接收 Webhook:在 Project 下创建 Source,Convoy 会给你一个 https://convoy.zeabur.app/ingest/<id> 的地址提供给第三方。
  • API:完整参考见 getconvoy.io/docs/api-reference
  • 自托管文档getconvoy.io/docs

可调参数

所有 Convoy 设置可在 convoy 服务的 Variables 标签页调整。常用:

变量说明
CONVOY_HOSTConvoy 的公开 URL。默认为 Zeabur 域名;绑定自定义域名后请更新。
CONVOY_SIGNUP_ENABLEDtrue 允许 UI 注册;false 锁定部署。
CONVOY_DB_MAX_OPEN_CONNPostgreSQL 连接池大小(默认 100)。小方案请调低。
CONVOY_SMTP_*密码重置 / 邀请邮件的 SMTP 配置,可选。

完整环境变量参考:convoy.env.example

运维

  • 数据库备份:Zeabur 自动快照 PostgreSQL。可从 postgresql 服务的 Backup 标签页恢复。
  • 升级:Convoy 新版本发布到 getconvoy/convoy:latest。重启 convoy 服务即可拉取新镜像,并在下次启动时自动应用迁移。
  • 资源:轻量流量(约 10 req/s)下每服务 1 vCPU / 1 GB 足够。若投递延迟升高,优先增加 convoy 的 CPU。

故障排查

  • 首次部署返回 502:Convoy 需要约 15 秒跑迁移后 HTTP 才会就绪,请稍后重试。
  • 迁移循环(retrying in 5s):PostgreSQL 尚未就绪。Convoy 会自动重试,最长约一分钟。
  • 找不到失败投递记录:可查 PostgreSQL 的 event_deliveries 表,或从 Convoy UI 的 Project → Event Deliveries 查看。

致谢