Skip to content

Releases: OthmanAdi/appwrite-keepalive

v1.1.0 - Appwrite Sites HTTP keepalive

Choose a tag to compare

@OthmanAdi OthmanAdi released this 21 May 22:20
a396b98

Fixed

  • Appwrite Sites no longer pauses when only the database keepalive runs (closes #1). Sites can pause independently of project-level pause based on site traffic rather than database/API activity. v1.0.0 only sent the database heartbeat, so users running Sites still saw their projects paused after 7 days. v1.1.0 adds an optional HTTP GET ping to one or more deployed Site URLs alongside the existing database heartbeat.

Added

  • New optional siteUrls field on ProjectConfig (string or string[]).
  • New env var APPWRITE_SITE_URLS (single URL or comma-separated list) for single-project mode.
  • APPWRITE_PROJECTS JSON now honors a per-project siteUrls field.
  • 10 new bun tests covering env parsing, HTTP 200 / 500 / network-error paths, parallel multi-URL fetch, and the no-siteUrls no-op path.

Behavior

  • Database heartbeat and site HTTP pings run in parallel so one slow surface doesn't delay the other.
  • Each site URL is fetched with a 15s timeout, follows redirects, and sends a stable User-Agent: appwrite-keepalive/1.1.
  • Non-2xx responses count as failures; network errors are captured with their message.
  • Overall result is success only if database heartbeat AND every site ping succeed.

Compatibility

  • v1.0.0 users with no siteUrls configured see byte-equivalent behavior. No migration needed.
  • New users running Appwrite Sites should add APPWRITE_SITE_URLS as a GitHub Actions secret. See updated README.

Upgrade

git pull
bun install

In your forked repo's GitHub Actions secrets, add APPWRITE_SITE_URLS if you deploy Sites:

APPWRITE_SITE_URLS=https://my-app.appwrite.network

Or comma-separated for multiple sites:

APPWRITE_SITE_URLS=https://site-a.appwrite.network,https://site-b.appwrite.network

Thanks