API

Install

Docker

The shipped docker-compose.yml runs the API on port 4000 with a reseam-data volume for the SQLite database.

ADMIN_TOKEN=$(openssl rand -hex 32) docker compose up -d

Put ADMIN_TOKEN in an .env file or pass it inline. Without it, announcement write endpoints return 503.

Check it's up:

curl http://localhost:4000/v1/health

Bare bun

For development or deployment without Docker:

bun install
bun run dev     # watch mode
bun run start   # production

The database lives at ./data/reseam.db by default. Override with DB_PATH.

Migrations

Schema changes go through drizzle-kit:

bun run db:generate   # regenerate migrations from src/db/schema.ts
bun run db:migrate    # apply pending migrations

The server runs pending migrations on boot, so you rarely need db:migrate manually.

Health check

GET /v1/health returns { ok: true, version }. Use it for Docker healthchecks and uptime monitors. It does not hit the upstream or the database.

Reseam © 2026 Reseam Team