Running the platform
Backups
Everything — users, companies, chats, and every published site's live database — is in SQLite on one server. Backups are the single most important thing to get right.
Schedule them
./scripts/install-backup-cron.sh # nightly, idempotent
./scripts/backup.sh # run one now to verify
Verify them
Admin → Server Health shows a Backups card with the age, count and size of real snapshots. It turns red if none exist or the newest is over 48 hours old. Trust that card, not the assumption that cron is installed.
Why not just copy the files
These databases run in WAL mode, where recent transactions live in a separate file. A plain cp can capture a torn database that fails to open — a backup that looks fine until you need it. The script uses SQLite's own snapshot mechanism instead.
Retention
14 days by default. Old backups are pruned only after a successful run, so a broken backup can never destroy your good ones.