This repository is used to backup, export backups, and restore backups on Solodev instances using Duplicity. Backups are stored in designated Amazon S3 buckets. Using Duplicity, backups can be run on a schedule or on demand and produce encryped snapshots in a specified S3 bucket. Using the custom export process, backups can then be copied to any designated mount. Similarly, using the restore process, a specified backup can overwrite a production environment.
Duplicity is a backup utility that is both efficient and encrypted. Backups are generated on an incremental basis so that only the parts of files that have changed will be archived, thus ensuring efficiencies in space/size management. Each archive is also encrypted with signatures to ensure only authorized users and utilities have access.
Name | Description |
---|---|
BUCKET | The name of the S3 bucket and any corresponding directory path to the folder that stores the backup files. |
GPG_PW | The GnuPG password to encrypt backups and decrypt archives during a restore or export event. |
IAM_ACCESS_KEY | The IAM Access key ID that corresponds to the IAM user with sufficient policy access to the designated S3 backup bucket. |
IAM_SECRET_KEY | The IAM Secret key that corresponds to the IAM user with sufficient policy access to the designated S3 backup bucket. |
MOUNT | The directory path of what to backup in a backup event or where to restore in a restore event. |
PROCESS | The type of process to run such as "restore", or "export". If none is specified, defaults to a backup event. |
TIME | A Duplicity-compatible time format to retrive specific point-in-time backups. |
BACKUP_LOCATION | A designated location (such as a local directory) to store files during an export event. |
Export
To export a specific backup, please use these instructions:
- Clone the repo to your local or virtual machine
- CD into the directory root
- Add a .env Environment file with the above variables defined
- Run `docker-compose up`