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/:file route redirects to.
MANAGER_BINARY_BASE_URL https://git.reseam.app/reseam/manager/releases/download Base URL the /manager/:tag/:file route redirects to.

Point PATCHES_URL at a patches.json you host. The URLs in that file's bundle.assets should reference the API's redirect routes (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. Set to * for public read-only deployments.
CACHE_TTL 300 Seconds to cache upstream responses. Also sent as Cache-Control: max-age.
NODE_ENV development production disables the /openapi docs route.

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.

Reseam © 2026 Reseam Team