Use [restic](https://restic.net/) together with rclone for a poor mans backup solution. # Configuration Environment variables: `RCLONE_REMOTE` remote for rclone e.g. `gdrive:/backup` `RCLONE_CONFIG` file path for the rclone config file e.g. `/config/rclone.conf` `RESTIC_PASSWORD` or `RESTIC_PASSWORD_FILE` password for the repo `RCLONE_CONFIG_CONTENT` content of the rclone config. For the database: `MYSQL_DUMP_DB` all databases comma sperated: `db1,db2` `MYSQL_HOST` `MYSQL_USERNAME` `MYSQL_PASSWORD` or `MYSQL_PASSWORD_FILE` `POSTGRES_DUMP_DB` all databases comma sperated: `db1,db2` `POSTGRES_HOST` `POSTGRES_USERNAME` `POSTGRES_PASSWORD` or `POSTGRES_PASSWORD_FILE` Use the `/app/init.sh` script to init a new remote. # Directorys `/config` Contains the rclone config. Can also be passed as env var. `/backup` Contains the mounted volumes as read only `/restore` Contains volumes to restore # Usage Here is an example of the script i use to backup my volumes: ```sh #!/usr/bin/env sh set -e # get all volumes with the "backup.enable" label on it BACKUP_VOL=$(docker volume ls --filter "label=backup.enable" --format '-v {{ .Name }}:/backup/{{ .Name }}:ro ') docker run \ --rm \ -e "RCLONE_REMOTE=gdrive:/backup" \ -e "RCLONE_CONFIG=/config/rclone.conf" \ -e "ENC_PASSWORD=MyPassword" \ -e "MYSQL_USERNAME=root" \ -e "MYSQL_PASSWORD=dbPassword" \ -e "MYSQL_DUMP_DB=db1,db2" \ -e "MYSQL_HOST=databaseHost" \ --network "dbNet" \ -v "/var/docker/backup:/config" \ $BACKUP_VOL \ djeeberjr/backup \ backup ```