The core server for WREN — versioned JSON storage and static site deployment.
This is the main application: a Bun/TypeScript HTTP server that provides the REST API, serves the Admin UI, marketing site, and handles authentication. It's the single process inside the reusr1/wren Docker image.
- REST API for documents, versions, labels, trees, schemas, binary assets, permissions
- Binary asset serving with content negotiation (JSON or raw bytes based on
Acceptheader) - Label-aware tree paths (
?label=publishedfor preview/promote workflows) - Multi-tenant Postgres isolation (one schema per org)
- Better Auth integration (email/password, session cookies, API keys)
- Marketing site, tutorials,
/projectsdirectory,/docs(Scalar),llms.txt
# With Docker (recommended)
docker compose up -d
# Server at http://localhost:4000
# Without Docker (needs Bun + Postgres)
bun install
DATABASE_URL=postgres://... bun run index.tsdocker pull reusr1/wren:latest
# or: reusr1/wren:0.4.2
# Platforms: linux/amd64, linux/arm64All repos live under github.com/usewren:
| Repo | Description |
|---|---|
| sandbox | Server (this repo) |
| cli | CLI tool (@usewren/cli on npm) |
| adminui2 | Admin UI (vanilla JS) |
| marketing | Landing pages, tutorials, llms.txt |
| docs | OpenAPI 3.1 spec |
| db | Postgres migrations |
| auth | Better Auth configuration |
| client-ts | TypeScript client library |
| client-py | Python client library |
- Website: https://wren.aemwip.com
- Tutorial: https://wren.aemwip.com/tutorial
- Deploy tutorial: https://wren.aemwip.com/tutorial/deploy
- API Docs: https://wren.aemwip.com/docs
- Projects: https://wren.aemwip.com/projects
- npm: @usewren/cli
Apache-2.0