Data Management & Backups

Managing data persistence, backups, and storage providers.

Updated Feb 14, 2026 Edit this page

Data Management & Backups

This guide covers how ACT handles data persistence, backup strategies, and storage provider configurations.

Database Backups

ACT performs automatic daily backups of its own SQLite/PostgreSQL database.

Environment Variable Conventions

The backup engine attempts to dump the database by looking for standard environment variables in the database container.

  • PostgreSQL: Looks for POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB.
  • MySQL/MariaDB: Looks for MYSQL_ROOT_PASSWORD or MARIADB_ROOT_PASSWORD.

Important: If you are using a custom Docker image for your database and use non-standard variable names (e.g., DB_USER instead of POSTGRES_USER), the automated backup engine will fail to authenticate. Please stick to the standard Docker Official Image conventions.

S3 Storage Requirements

ACT supports any S3-compatible storage provider (AWS S3, Cloudflare R2, MinIO, DigitalOcean Spaces, Wasabi).

“Path-Style” Access

ACT forces Path-Style access (https://s3.region.provider.com/bucket/file) for maximum compatibility with self-hosted MinIO and older providers.

  • Ensure your S3 provider supports path-style requests.
  • Regions: Some providers (like Cloudflare R2) are sensitive to the region setting. Ensure the region is set correctly (often auto or us-east-1 for R2) to avoid 301 Redirect errors.

Volume Snapshots (Restic)

For stateful services using persistent volumes, ACT uses Restic to perform incremental, encrypted snapshots to your S3 storage.

Manual Recovery

If you need to recover data manually without the ACT UI (e.g., in a total catastrophe), you can access the Restic repository directly on your S3 bucket.

Repository Structure: s3:endpoint/bucket/restic/<volume_name>

Credentials:

  • Password: The Restic repository password is the same as your ACT_MASTER_KEY (unless manually changed in the DB directly).
  • Tool: You can use the standard restic CLI tool to browse and restore snapshots.
# Example Manual Restore
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export RESTIC_PASSWORD=$ACT_MASTER_KEY
export RESTIC_REPOSITORY=s3:https://s3.amazonaws.com/my-bucket/restic/my-volume

restic snapshots
restic restore latest --target /tmp/recovery