Docker setup for restic
·
Report Bug
·
Request Feature
Small docker setup for restic. It will backup all your docker volumes.
To get a local copy up and running follow these simple steps.
- Clone the repo
git clone https://github.com/beuluis/restic.git
- Start docker-compose
docker-compose up --build
- Create a
.env
file
touch .env
- Overwrite variables as you like (format:
{variable name}={variable value}
)
Variable | Description | Default value | Required |
---|---|---|---|
RESTIC_BACKUP_CRON |
GoCron to run backup | 0 30 3 * * * |
false |
RESTIC_RUN_ON_STARTUP_BACKUP |
Run backup on startup | true |
false |
RESTIC_BACKUP_TAG |
Tag for backup | docker-volumes |
false |
RESTIC_BACKUP_HOST |
Host name for backup | docker |
false |
RESTIC_KEEP_LAST |
Never delete the n last (most recent) snapshots |
30 |
false |
RESTIC_KEEP_DAILY |
For the last n days which have one or more snapshots, only keep the last one for that day |
7 |
false |
RESTIC_KEEP_WEEKLY |
For the last n weeks which have one or more snapshots, only keep the last one for that week |
5 |
false |
RESTIC_KEEP_MONTHLY |
For the last n months which have one or more snapshots, only keep the last one for that month |
12 |
false |
RESTIC_TZ |
Timezone | Europe/Berlin |
false |
RESTIC_REPOSITORY |
Repository see Restic Docs | none | true |
RESTIC_PASSWORD |
Restic password | none | true |
AWS_ACCESS_KEY_ID |
AWS key id | none | true |
AWS_SECRET_ACCESS_KEY |
AWS secret key | none | true |
NOTIFY_TO |
Email to notify | none | true |
NOTIFY_FROM |
Sender email | none | true |
NOTIFY_SERVER |
Email server | none | true |
NOTIFY_PORT |
Server port | 587 |
false |
NOTIFY_USER |
Email user | none | true |
NOTIFY_PASSWORD |
Email password | none | true |
To get a copy up and running follow these simple steps.
- Clone the repo
git clone https://github.com/beuluis/restic.git --branch master
- Create a
.env.prod
file
touch .env.prod
- Overwrite all variables marked under Customization as required
- Start docker-compose
docker-compose --env-file ./.env.prod -f docker-compose.yml -f docker-compose.production.yml up -d
- Create a
.env.prod
file
touch .env.prod
- Overwrite variables as you like (format:
{variable name}={variable value}
)
Variable | Description | Default value | Required |
---|---|---|---|
RESTIC_BACKUP_CRON |
GoCron to run backup | 0 30 3 * * * |
false |
RESTIC_RUN_ON_STARTUP_BACKUP |
Run backup on startup | true |
false |
RESTIC_BACKUP_TAG |
Tag for backup | docker-volumes |
false |
RESTIC_KEEP_LAST |
Never delete the n last (most recent) snapshots |
10 |
false |
RESTIC_KEEP_DAILY |
For the last n days which have one or more snapshots, only keep the last one for that day |
7 |
false |
RESTIC_KEEP_WEEKLY |
For the last n weeks which have one or more snapshots, only keep the last one for that week |
5 |
false |
RESTIC_KEEP_MONTHLY |
For the last n months which have one or more snapshots, only keep the last one for that month |
12 |
false |
RESTIC_TZ |
Timezone | Europe/Berlin |
false |
RESTIC_REPOSITORY |
Repository see Restic Docs | none | true |
RESTIC_PASSWORD |
Restic password | none | true |
NOTIFY_TO |
Email to notify | none | true |
NOTIFY_FROM |
Sender email | none | true |
NOTIFY_SERVER |
Email server | none | true |
NOTIFY_PORT |
Server port | 587 |
false |
NOTIFY_USER |
Email user | none | true |
NOTIFY_PASSWORD |
Email password | none | true |
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Luis Beu - me@luisbeu.de