The Docker image azinchen/duplicacy is designed for automated backups by leveraging Duplicacy. As such, it supports:
- A wide range of storage backends (S3, Backblaze B2, Hubic, Dropbox, SFTP, and more)
- Client-side encryption
- Deduplication
- Multi-versioning
- And all the other features available in Duplicacy
This image uses the Duplicacy Command Line version 3.2.5.
The image is compatible with several architectures including amd64, x86, arm/v6, arm/v7, and arm64.
To start a standalone Duplicacy instance in Docker, you can run:
docker run \
-v path_to_data:/data \
-e BACKUP_CRON="0 1 * * *" \
-e SNAPSHOT_ID="id" \
-e STORAGE_URL="url" \
azinchen/duplicacyThe container is configured at runtime using environment variables. Below are the available settings:
BACKUP_CRON: Specifies the schedule (in crontab format) for running theduplicacy backupcommand. Without this variable, the backup command will not execute.BACKUP_OPTIONS: Defines additional options for theduplicacy backupcommand. For details, see the duplicacy backup documentation. Defaults are not applied.BACKUP_END_CRON: Sets a schedule (in crontab format) for forcefully terminating the duplicacy backup process. If not set, no force kill is performed.
PRUNE_CRON: Specifies the schedule (in crontab format) for executing theduplicacy prunecommand. This command runs only if the variable is set.PRUNE_OPTIONS: Provides extra options for theduplicacy prunecommand. Refer to the duplicacy prune documentation for more details. Defaults are not applied.PRUNE_KEEP_POLICIES: Sets the retention policies for pruning. Multiple policies can be specified by separating them with semicolons. For more details, see duplicacy prune documentation.
GLOBAL_OPTIONS: Specifies global options for anyduplicacycommand. Check out the global options details for more information. No defaults are set.RUN_JOB_IMMEDIATELY: When set toyes, the container will execute theduplicacy backupand/orduplicacy prunecommands immediately upon startup. By default, jobs do not run immediately.SNAPSHOT_ID: Provides the snapshot identifier as described in theduplicacy initcommand documentation here.STORAGE_URL: Indicates the storage location URL, as required by theduplicacy initcommand documentation. Duplicacy supports various storage providers; see the supported storage backends for details. Login credentials for the storage should be set via environment variables as outlined in the credentials documentation.JOB_RANDOM_DELAY: Sets a maximum delay (in seconds) before starting a job. By default, jobs start without delay.FILTER_PATTERNS: Defines include/exclude patterns for filtering. Multiple patterns can be separated by semicolons. For more details, refer to the filter documentation.DUPLICACY_PASSWORD: When provided, enables encryption for storage by setting the encryption password. See theduplicacy initcommand details here. Encryption is off by default.
EMAIL_HOSTNAME_ALIAS: Overrides the container's hostname in email reports.EMAIL_FROM: Sets the sender's email address.EMAIL_FROM_NAME: Sets the sender's name.EMAIL_TO: Specifies the recipient's email address.EMAIL_USE_TLS: Enables TLS encryption for the SMTP session.EMAIL_SMTP_SERVER: Specifies the SMTP server address.EMAIL_SMTP_SERVER_PORT: Defines the port for the SMTP server.EMAIL_SMTP_LOGIN: Provides the SMTP server login.EMAIL_SMTP_PASSWORD: Provides the SMTP server password.EMAIL_LOG_LINES_IN_BODY: Determines the number of lines from the start and end of the log to include in the email report. The default is10.SEND_REPORT_LEVEL: Sets the minimum level of logs to trigger email reports. Options areallorerror(default isall).
TZ: Sets the container's time zone. Acceptable values can be found here. The default isUTC.
This project utilizes the Duplicacy Command Line version, which is free for personal use. Commercial use requires a license purchase. For complete licensing terms, see here.
If you encounter any problems or have questions about this image, please open a GitHub issue or contact via email.