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.