{"id":22244053,"url":"https://github.com/agence-webup/dkup","last_synced_at":"2026-04-29T06:38:58.012Z","repository":{"id":42279735,"uuid":"238493576","full_name":"agence-webup/dkup","owner":"agence-webup","description":"🐳 A small utility to perform backup on docker-compose projects","archived":false,"fork":false,"pushed_at":"2023-01-09T01:57:40.000Z","size":589,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-25T23:01:57.571Z","etag":null,"topics":["backup","docker-compose","ops"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agence-webup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-05T16:15:45.000Z","updated_at":"2022-07-13T16:08:16.000Z","dependencies_parsed_at":"2023-02-08T08:15:41.447Z","dependency_job_id":null,"html_url":"https://github.com/agence-webup/dkup","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/agence-webup/dkup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-webup%2Fdkup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-webup%2Fdkup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-webup%2Fdkup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-webup%2Fdkup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agence-webup","download_url":"https://codeload.github.com/agence-webup/dkup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-webup%2Fdkup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32414422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","docker-compose","ops"],"created_at":"2024-12-03T04:32:03.930Z","updated_at":"2026-04-29T06:38:57.997Z","avatar_url":"https://github.com/agence-webup.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dkup\n\n[![CircleCI](https://circleci.com/gh/agence-webup/dkup.svg?style=svg)](https://circleci.com/gh/agence-webup/dkup)\n\nDkup doesn't use any local database and automatically sync with your storage provider (S3 for now) to manage backups lifecycle.\n\n## 1. Download executable \n\nYou can find latest release here: https://github.com/agence-webup/dkup/releases\n\n## 2. Create a dkup.json config (for example in /etc/dkup)\n\n```json\n{\n  \"awsAccessKeyId\": \"HERE_YOUR_AWS_ACCESS_KEY\",\n  \"awsSecretAccessKey\": \"HERE_YOUR_AWS_SECRET\",\n  \"awsBucket\": \"HERE_YOUR_AWS_BUCKET\",\n  \"command\": \"pliz backup -q --files --db -o @FILENAME\",\n  \"fileExtension\": \"zip\",\n  \"instantToKeep\": 3,\n  \"projects\": [\n    {\n      \"slug\": \"project1\",\n      \"path\": \"/path/to/project1\",\n      \"pingUrl\": \"https://example.com/project1\",\n      \"frequencies\": [\"monthly:1\", \"weekly:4\", \"daily:7\", \"hourly:4\"],\n      \"instantToKeep\": 2,\n      \"command\": \"custom command @FILENAME\",\n    },\n    {\n      \"slug\": \"projet2\",\n      \"path\": \"/path/to/project2\",\n      \"pingUrl\": \"https://example.com/project2\",\n      \"frequencies\": [\"monthly:1\", \"weekly:1\", \"daily:1\", \"every4hours:6\"]\n    }\n  ]\n}\n```\n\n* `slug` a string which will be used to store the file on s3\n* `path` path to the docker-compose + pliz project\n* `pingUrl` an URL to call when the backup is done \n* `frequency` a string which respect the following format `period:number_of_backups_to_keep`\n  * `period`: hourly, every4hours, daily, weekly or monthly\n  * `number_of_backup`: the number of backup files to keep for the period (1 will keep one backup file, 3 will keep three backup files, 0 for no limit)\n* `instantToKeep`: number of instant backups to keep (global or per project option), default is 5\n* `fileExtension` : extension to use (global or per project option), default set to tar.gz\n* `command`: command used to backup (global or per project option), @FILENAME is replaced with backup filename\n\nNote: dkup will automatically detect https://healthchecks.io as a provider and enhance log with [errors](https://healthchecks.io/docs/attaching_logs/)\n\n## 3. Execute dkup\n\n```\nUsage: dkup [options] [command]\n\nA small utility to perform backup on docker-compose projects\n\nOptions:\n  -c, --config \u003cpath\u003e  config path\n  -V, --version        output the version number\n  -h, --help           display help for command\n\nCommands:\n  now [project]        start an immediate backup\n  schedule [options]   check and execute backup based on frequencies\n  list                 list all projects\n  help [command]       display help for command\n```\n\n## 4. Examples\n\n### Execute an instant backup of all projects\n\n```\ndkup --config /etc/dkup/dkup.json now\n```\n\n### Execute an instant backup for a given project\n\n```\ndkup --config /etc/dkup/dkup.json now project1\n```\n\n### Check and execute scheduled backups\n\nYou need to execute dkup every hour. An example with cron:\n\n```\n@hourly dkup --config /etc/dkup/dkup.json schedule\n```\n \n### Test scheduled backups (without upload or delete + verbose mode)\n\n```\ndkup --config /etc/dkup/dkup.json schedule --test\n```\n\n### Display version\n\n```\ndkup --version\n```\n\n## 5. Output example\n\n```\n[18:07:32] projet1 | Run custom command -\u003e pliz backup -q --files --db -o projet1-20220713_182532.tar.gz\n[18:07:32] projet1 | Processing scheduled backup\n[18:07:32] projet1 | Upload projet1-monthly-20220713_182532.tar.gz to s3\n[18:07:33] projet1 | Upload projet1-weekly-20220713_182532.tar.gz to s3\n[18:07:33] projet1 | Upload projet1-daily-20220713_182532.tar.gz to s3\n[18:07:33] projet1 | Upload projet1-hourly-20220713_182532.tar.gz to s3\n[18:07:33] projet1 | Upload projet1-every4hours-20220713_182532.tar.gz to s3\n[18:07:33] projet1 | Delete local file /projects/projet1-20220713_182532.tar.gz\n[18:07:33] projet2 | Run custom command -\u003e pliz backup -q --files --db -o projet2-20220713_182533.tar.gz\n[18:07:34] projet2 | Processing scheduled backup\n[18:07:34] projet2 | Upload projet2-monthly-20220713_182533.tar.gz to s3\n[18:07:34] projet2 | Upload projet2-weekly-20220713_182533.tar.gz to s3\n[18:07:34] projet2 | Upload projet2-daily-20220713_182533.tar.gz to s3\n[18:07:34] projet2 | Upload projet2-hourly-20220713_182533.tar.gz to s3\n[18:07:35] projet2 | Delete local file /projects/projet2-20220713_182533.tar.gz\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagence-webup%2Fdkup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagence-webup%2Fdkup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagence-webup%2Fdkup/lists"}