azinchen/duplicacy
Automated backups with Docker and duplicacy, with backup rotation, email notifications
1M+
The Docker image azinchen/duplicacy
is designed for automated backups by leveraging Duplicacy. As such, it supports:
This image uses the Duplicacy Command Line version3.2.4
.
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/duplicacy
The container is configured at runtime using environment variables. Below are the available settings:
BACKUP_CRON
: Specifies the schedule (in crontab format) for running the duplicacy backup
command. Without this variable, the backup command will not execute.BACKUP_OPTIONS
: Defines additional options for the duplicacy backup
command. 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 the duplicacy prune
command. This command runs only if the variable is set.PRUNE_OPTIONS
: Provides extra options for the duplicacy prune
command. 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 any duplicacy
command. Check out the global options details for more information. No defaults are set.RUN_JOB_IMMEDIATELY
: When set to yes
, the container will execute the duplicacy backup
and/or duplicacy prune
commands immediately upon startup. By default, jobs do not run immediately.SNAPSHOT_ID
: Provides the snapshot identifier as described in the duplicacy init
command documentation here.STORAGE_URL
: Indicates the storage location URL, as required by the duplicacy init
command 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 the duplicacy init
command 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 is 10
.SEND_REPORT_LEVEL
: Sets the minimum level of logs to trigger email reports. Options are all
or error
(default is all
).TZ
: Sets the container's time zone. Acceptable values can be found here. The default is UTC
.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.
docker pull azinchen/duplicacy