# Backing Up and Restoring Typesense Data
When you send documents to Typesense, it stores your data in the directory indicated by the data-dir server configuration parameter and then builds the in-memory data structures that power search.
When a Typesense process is restarted, the data is read from the data directory and the in-memory indices are rebuilt.
TIP
This article only applies when you self-host Typesense.
# Backup steps
It is unsafe to directly archive/backup Typesense's data directory, since Typesense might have open files that it's writing to, as the backup is being taken. Instead, you want to do the following:
- Call the Snapshot API endpoint, specifying the directory to which to write the snapshot to on the server.
- Backup this directory to remote storage, using say
tar -czvf backup.tar.gz -C /tmp/typesense-data-snapshot .
# Restore steps
- Stop any running Typesense processes.
- Delete the contents of the existing data dir. Eg:
rm -rf /var/lib/typesense/* - Extract the tar gzip backup file to the data directory. Eg:
cd /var/lib/typesense ; tar -xf backup.tar.gz . - Start the Typesense process again.
Typesense will then read the snapshot from the data dir and build the in-memory index.
This documentation site is open source. Found an issue? Edit this page (opens new window) and send us a Pull Request.
For AI Agents: View an easy-to-parse, token-efficient
Markdown version of this page. You can also replace
.html with .md in any docs URL. For paths ending in /, append
README.md to the path.