Just the basics to get the container running:
docker run --rm --name restic --hostname <your_hostname> -v /<host_folder_config>:/config hotio/resticThe environment variables below are all optional, the values you see are the defaults.
-e PUID=1000
-e PGID=1000
-e UMASK=002
-e TZ="Etc/UTC"
-e ARGS=""| Tag | Description | Build Status | Last Updated |
|---|---|---|---|
| latest | The same as stable |
||
| stable | Stable version |
You can also find tags that reference a commit or version number.
Create the file /config/app/crontab (see example below) and put your restic backup script along with other required files in /config/app/. Rclone configuration can be placed in /config/.config/rclone/rclone.conf. When the container starts, the crontab file will be installed. A container restart is needed when you've modified your crontab file, for the changes to apply.
Example crontab file /config/app/crontab:
* * * * * hotio /config/app/backup-every-minute.sh
@hourly root /config/app/backup-hourly.shExample backup script /config/app/backup-hourly.sh:
#!/bin/bash
export RCLONE_CONFIG="/config/.config/rclone/rclone.conf"
echo "Creating backup..."
restic --repo rclone:amazon:backup --password-file /config/app/encryption.key --cache-dir /config/.cache/restic backup --exclude-caches /documents
restic --repo rclone:amazon:backup --password-file /config/app/encryption.key --cache-dir /config/.cache/restic backup --exclude-caches /picturesAdditional docker volumes:
-v /storage/documents:/documents:ro
-v /storage/pictures:/pictures:roIf you have a need to do additional stuff when the container starts or stops, you can mount your script with -v /docker/host/my-script.sh:/etc/cont-init.d/99-my-script to execute your script on container start or -v /docker/host/my-script.sh:/etc/cont-finish.d/99-my-script to execute it when the container stops. An example script can be seen below.
#!/usr/bin/with-contenv bash
echo "Hello, this is me, your script."