Julien Calixte ac2b70a260 fix: prevent database is locked on concurrent startup
Set busy_timeout before journal_mode=WAL in db.ts so SQLite retries
for 10s instead of failing immediately with the default 0ms timeout.

Extract migration into a dedicated Docker Compose service so both
jetstream and api wait for it to complete before opening the database.
2026-03-21 12:30:17 +01:00
2026-02-09 22:34:20 +01:00

litenote-jetstream

Backend for Remanso, a blogging platform on the AT Protocol. Listens to the Jetstream firehose for space.remanso.note records and serves them via a REST API.

Prerequisites

Setup

# Initialize the SQLite database
deno task migrate

Development

# Run the Jetstream listener (with watch)
deno task jetstream

# Run the API server (with watch)
deno task server

Production

# Run both processes
deno task jetstream:prod & deno task server:prod

Docker

docker build -t litenote-jetstream .
docker run -p 8080:8080 -v litenote-data:/data litenote-jetstream

API

Endpoint Description
GET /notes?cursor=&limit= Paginated notes from all users
GET /:did/notes?cursor=&limit= Paginated notes for a specific DID

Environment Variables

Variable Default Description
SQLITE_PATH notes.db Path to the SQLite database file
Description
No description provided
Readme 158 KiB
Languages
TypeScript 98.9%
Dockerfile 1.1%