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_PASSWORDorMARIADB_ROOT_PASSWORD.
Important: If you are using a custom Docker image for your database and use non-standard variable names (e.g.,
DB_USERinstead ofPOSTGRES_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
autoorus-east-1for 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
resticCLI 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