API

Configuration

Every setting is an environment variable. Defaults assume the official Reseam deployment.

Upstream

Variable Default Purpose
PATCHES_URL https://git.reseam.app/reseam/patches/releases/download/latest/patches.json Where the API fetches the patches index from.
MANAGER_URL https://git.reseam.app/reseam/manager/releases/download/latest/manager.json Where the API fetches the manager index from.
PATCHES_BUNDLE_BASE_URL https://git.reseam.app/reseam/patches/releases/download Base URL the /patches/:tag/:name route redirects to.
MANAGER_BINARY_BASE_URL https://git.reseam.app/reseam/manager/releases/download Base URL the /manager/:tag/:name route redirects to.

Point PATCHES_URL at a patches.json you host. Each release's download_url in that file should reference the API's redirect route (https://api.reseam.app/patches/<tag>/<name>) so end-clients only ever see *.reseam.app.

Server

Variable Default Purpose
PORT 4000 HTTP port.
ALLOWED_ORIGINS https://reseam.app,https://manager.reseam.app Comma-separated CORS allowlist.
CACHE_TTL 300 Seconds to cache upstream responses. Also sent as Cache-Control: public, s-maxage=<CACHE_TTL>, stale-while-revalidate=60.

Storage

Variable Default Purpose
DB_PATH ./data/reseam.db SQLite database for announcements.
ADMIN_TOKEN (empty) Bearer token for announcement writes. Empty → writes return 503.

ADMIN_TOKEN is the only secret the API holds. Treat it like a root password. Read-only deploys can leave it empty.

CACHE_TTL tuning

  • Low (60–120s): announcements feel live, upstream gets hit more often.
  • Default (300s): good for the official bundle; new releases show up within 5 minutes.
  • High (3600s): use when upstream is slow or rate-limited. Clients still see ETag so 304s work.

The cache is in-memory and per-process. Restarting the server clears it. If a refresh fails after the TTL expires, the last good copy is served and the next request retries upstream.

Reseam Reseam © 2026 Reseam Team

Settings