@@ -8,5 +8,53 @@ The result is a simple, fully configurable Docker image.
88Usage is documented in-script, to display the help menu use
99
1010```
11- docker run -it --rm ghcr.io/dataforgoodfr/d4g-s3-backup:latest --help
11+ $ docker run -it --rm ghcr.io/dataforgoodfr/d4g-s3-backup:latest --help
12+ USAGE docker run -it --rm -v /var/data:/data -v /opt/backups:/backups ghcr.io/dataforgoodfr/d4g-s3-backup \
13+ [--access-key="<access_key>"] \
14+ [--secret-key="<secret_key>"] \
15+ [--bucket-name="backups"] \
16+ [--host-base="%(bucket)s.s3.fr-par.scw.cloud"] \
17+ [--data-dir="/data"] \
18+ [--backups-dir="/backups"] \
19+ [--service-name="service"] \
20+ [--retention-days=30] \
21+ [--bucket-region="fr-par"] \
22+ [--prom-metrics] \
23+ [--debug] \
24+ [--help]
25+
26+ Create backups for a specific dir easily and sync them to an s3 compatible bucket.
27+ This script also supports publishing prometheu-compatible metrics through the Textfile Collector.
28+
29+ Data from <data_dir> will be backed up to <backups-dir>/<service-name>/<service-name>-2023-12-20.tar.gz
30+ Files will be keps around for <retention-days> days.
31+ Files will be synced to s3 under s3://<bucket-name>/<service-name> using supplied credentials and configuration.
32+
33+ Supported parameters :
34+ -h, --help : display this message
35+ --debug : Print configuration before running (Optional)
36+ --access-key : AWS access key (Required)
37+ --secret-key : AWS secret key (Required)
38+ --bucket-name : name of the bucket to sync backups to (Optional, Default backups)
39+ --data-dir : directory to backup (Optional, Default ./data)
40+ --service-name : name of the service to backup (Optional, Default service)
41+ --backups-dir : backups root directory where will be stored (Optional, Default /opt/backups/)
42+ --host-bucket : Bucket host base (Optional, Default ${BUCKET_NAME}s.s3.fr-par.scw.cloud)
43+ --host-base : S3 host base (Optional, Default %(bucket)s.s3.fr-par.scw.cloud)
44+ --bucket-region : S3 bucket region (Optional, Default fr-par)
45+ --retention-days : number of days to keep backups (Default 30)
46+ --prom-metrics : enable prometheus metrics (Default false)
47+ ```
48+
49+ ### Example
50+ This one will create a backup for our private vaultwarden instance.
51+
52+ ```
53+ docker run -it --rm -v /opt/d4g-vaultwarden/data:/data \
54+ -v /opt/backups:/backups \
55+ ghcr.io/dataforgoodfr/d4g-s3-backup:latest \
56+ --access-key=<access-key> \
57+ --bucket-name=poletech-backups-s3 \
58+ --service-name=vaultwarden \
59+ --secret-key=<secret-key>
1260```
0 commit comments