FAQ
What is Resta?
Resta is an open-source, self-hosted server that runs many small SQL databases, one per user, tenant, agent or task. You create databases through an HTTP API and query them with the Turso client libraries. It runs from one Docker Compose file.
Is Resta free?
Yes. Resta is MIT-licensed open-source software. You pay only for the server you run it on. There is no hosted Resta service.
How is Resta different from Turso?
Turso is a database engine (open source) and a hosted database service (Turso Cloud). Resta uses the open-source Turso engine and speaks the same HTTP protocol as Turso’s serverless driver, but you host it yourself, on your own server. Resta is not affiliated with Turso.
How is Resta different from SQLite?
SQLite is a library that runs inside your application process. Resta is a server: it holds many SQLite-format databases and lets any app query them over HTTPS with tokens, with an API to create and delete them, and backups.
Why many small databases instead of one big one?
Isolation and lifecycle. Each customer’s or user’s data is in its own database, so one query cannot touch another’s rows, and you can back up, restore, export or delete one customer at a time. Writes to different databases do not block each other.
How many databases can one server hold?
Resta has not been load-tested yet. From its design: a database that has never been written is only a directory and a database row; idle databases close after 5 minutes; and up to 10,000 are open at once by default. A small VPS should hold tens of thousands.
Does it work with Coolify?
Yes. The compose file uses Coolify’s generated variables for the domain and passwords. See Install on Coolify.
Which client libraries work?
The official @tursodatabase/serverless JavaScript client is tested against Resta. Other clients for Turso’s “SQL over HTTP” protocol should work but are not tested yet. Any HTTP client can send the protocol directly.
Can several people use one server?
Each server has one account. Share API keys with your backend, and database tokens with apps. There are no roles or teams.
Where is my data stored?
In Docker volumes on your server: databases in dbdata, snapshots in backups (or your S3 bucket), metadata in pgdata. Nothing leaves your server unless you configure an S3 bucket.
How do I get my data out?
Every snapshot is a complete SQLite database file, zstd-compressed. Decompress it with zstd -d and open it with sqlite3 or any SQLite tool.
Is it production-ready?
Not yet. Resta has not had its first public release, and the Turso engine it builds on is pre-1.0. Keep off-server backups.
Why are some SQL statements blocked?
ATTACH, VACUUM INTO, extension loading and most pragmas could read or write other files on the server. They return the error code BLOCKED. See SQL support and limits.