# Rabta > Self-hosted backend for signed events, live query polling, and content-addressed file uploads. One Rust binary, one SQLite file, one Docker container. No accounts, no database server, no cloud. ## Docs - [README](https://github.com/rabta-protocol/rabta/blob/main/README.md): What Rabta is, quick start, use cases, FAQ. - [API reference](https://github.com/rabta-protocol/rabta/blob/main/api.md): Every route, envelope format, signing, blob plane, limits, client examples. - [Compose stack](https://github.com/rabta-protocol/rabta/blob/main/compose.yml): Ready Portainer/Docker Compose example. ## Quick Start ```bash docker run -d --name rabta -p 3232:3232 -v rabta:/data --restart unless-stopped -e STORAGE_LIMIT=20GB ghcr.io/rabta-protocol/rabta:latest curl -s http://localhost:3232/api/v1/health ``` ## Key Facts - Language: Rust 2024, Axum, SQLite (rusqlite bundled) - Container: ghcr.io/rabta-protocol/rabta:latest, linux/amd64 + linux/arm64, port 3232 - Auth: none. Ed25519 signed events. Put behind TLS + authenticated reverse proxy for public use. - Events: canonical JSON sorted keys, SHA-256 id, Ed25519 sig over digest - Event limits: 100KB, TTL 60s to 10 years, 10 labels, collection ^[a-z0-9/_-]{1,32}$ - Blobs: PUT /api/v1/blobs returns SHA-256. Unclaimed expire after 6h. An event claims 0-8 hashes through its `blobs` array and extends their life to its own expiry. - Storage: STORAGE_LIMIT default 20GB covers envelopes + claimed blobs. Admission 90%, eviction target 85%. Events evicted first, largest footprint first. WHITELIST_PUBKEYS pins up to 64 keys from eviction. - Delivery: poll POST /api/v1/events/query. Filters for collection, labels and owner, newest first, opaque `next_cursor`, 1-100 rows per page. - API: POST /api/v1/events, POST /api/v1/events/query, GET /api/v1/events/{id}, GET /api/v1/events/{id}/size, PUT /api/v1/blobs, GET /api/v1/blobs/{hash}, GET /api/v1/health, GET /api/v1/stats, GET /api/v1/node - OpenAPI: GET /api/v1/openapi.json. Route index: GET / - Not Nostr: no NIPs, no WebSocket, no kinds/tags/replaceable events. ## Optional - [Docker images](https://github.com/rabta-protocol/rabta/pkgs/container/rabta) - [Issues](https://github.com/rabta-protocol/rabta/issues)