Backup and Disaster Recovery#
Antics stores analytics in DuckDB, control-plane records in redb, and usage counters in a separate redb store. Treat those files and any attention-model artifacts as one operational dataset.
Managed Antics#
TurtleTech operates service backups for managed accounts. Customers do not need file-level access to the service. Contact support@turtletech.us for recovery requests or for the retention and processing terms that apply to an account.
Self-hosted snapshots#
Antics writes a consistent snapshot sibling beside each live store. The
snapshot interval is configured with SNAPSHOT_INTERVAL_SECS and defaults to
3600 seconds. A value of 0 disables the snapshot task.
Live store |
Snapshot sibling |
|---|---|
|
|
|
|
|
|
The DuckDB sibling is a logical copy (COPY FROM DATABASE), not a
byte copy of the live file. Daily retention DELETE then rewrite so
deleted 90-day raw rows and 365-day hourly scratch do not stay in
the snapshot. Do not add the snapshot byte size to billed storage.
The paths are derived from ANTICS_DUCKDB_PATH, ANTICS_CONTROL_PATH, and
ANTICS_USAGE_PATH. Include the snapshot files and the directory named by
ANTICS_ATTENTION_MODEL_DIR in the external backup system. Copying only the
container image does not preserve customer data or fitted attention models.
Verify a recovery point#
The /api/health response includes snapshot status for DuckDB, control redb,
and usage redb. For every enabled store, verify:
last_success_unixis recent enough for the configured interval;last_bytesis non-zero;success_countincreases; andlast_error_unixanderror_countdo not show an unresolved failure.
An external backup should record the same snapshot set together so that analytics, account configuration, and usage counters describe a consistent recovery point.
Restore a self-hosted deployment#
Stop the Antics service so no process writes to the data directory.
Preserve the current live stores separately for diagnosis and rollback.
Copy each recovered snapshot to its corresponding live-store path.
Restore the attention-model directory when it is configured.
Start Antics with the same store-path configuration.
Check
/api/health, sign in, and verify site metadata, usage, rollups, and recent events for a representative site.
Keep the recovered snapshot files until the restored service has been validated. Store migrations run during startup and are designed to be idempotent.