openreader/docs-site/docs/reference/stack.md
Richard R 6d5fb65a72 feat(docs): add configurable rate limiting and external docs
Add environment variables for fine-grained control over TTS rate limiting
and Better Auth behavior. Move documentation to external Docusaurus site
with automated deployment workflows.

- TTS rate limiting can now be enabled/disabled via TTS_ENABLE_RATE_LIMIT
- Customizable daily limits for anonymous/authenticated users and IP backstops
- Better Auth rate limiting can be disabled via DISABLE_AUTH_RATE_LIMIT
- Rename library import env vars to IMPORT_LIBRARY_DIRS/DIR
- Add docs-site with Docusaurus and GitHub Actions workflows
- Update README to reference external documentation
2026-02-10 15:11:37 -07:00

2 KiB

title
Stack

Framework

Containerization and runtime

  • Docker (linux/amd64 and linux/arm64)
  • Shared entrypoint that runs DB migrations by default and can bootstrap embedded SeaweedFS before app startup

Next.js client

Next.js server

  • APIs: Route Handlers for sync, blob/content access, migrations, audiobook export, TTS/Whisper proxying
  • Authentication: Better Auth server handlers/adapters
  • Metadata DB: Drizzle ORM with SQLite (better-sqlite3) by default and optional Postgres (pg)
  • Blob storage: embedded SeaweedFS (weed mini) by default, or external S3-compatible storage via AWS SDK v3
  • Audio/processing pipeline: OpenAI-compatible TTS providers, ffmpeg for audiobook assembly, optional whisper.cpp for word timestamps

Tooling and testing

  • ESLint
  • TypeScript
  • Playwright end-to-end tests
  • Drizzle migration/generation scripts