DATABASE_URL selects PostgreSQL. If it is unset, Ralti uses the local SQLite database at .atlas/atlas.sqlite, with ATLAS_DATA_DIR overriding the private data root. The application stores workspaces, workbook metadata, sheets, fields, records, views, history, collaborations, email, jobs, and workflow definitions in normalized tables. It does not create a SQL table for every sheet.

Typed records and transactions#

Records store typed values associated with their fields. Ralti validates field semantics before saving changes and preserves undo history. Existing saved work remains readable as the application evolves.

DataLocationRecovery requirement
Canonical entitiesPostgreSQL or atlas.sqliteConsistent database backup
Uploaded bytes and private document artifactsPrivate persistent filesystemFile backup coordinated with application writes
Email credentialsEncrypted database valuesDatabase backup plus separately preserved encryption key
SQLite semantic indexsearch-v1.sqlite sidecarRebuildable from canonical sources

PostgreSQL is the intended coordinated deployment option: it supplies pooled access, permissions, revision locks, shared rate limits, and native search indexes. SQLite remains a single-host fallback with single-writer constraints. Do not place its live files on ephemeral storage or share them over a network filesystem.

A database dump alone does not recover uploaded files or the email encryption secret. Conversely, the semantic sidecar is not your source of truth. Keep source databases private and never package the data directory into a public website or container image.