{"id":21721451,"url":"https://github.com/informaticsmatters/docker-volume-replicator","last_synced_at":"2026-05-08T14:43:46.978Z","repository":{"id":80604986,"uuid":"267571383","full_name":"InformaticsMatters/docker-volume-replicator","owner":"InformaticsMatters","description":"A small image that replicates a (kubernetes) volume","archived":false,"fork":false,"pushed_at":"2023-08-02T21:30:36.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-20T21:49:26.252Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/InformaticsMatters.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-28T11:26:31.000Z","updated_at":"2022-01-18T16:00:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"b616ff56-b3e9-4ac6-9e7e-f9b4ff1ffb55","html_url":"https://github.com/InformaticsMatters/docker-volume-replicator","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/InformaticsMatters/docker-volume-replicator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fdocker-volume-replicator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fdocker-volume-replicator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fdocker-volume-replicator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fdocker-volume-replicator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/InformaticsMatters","download_url":"https://codeload.github.com/InformaticsMatters/docker-volume-replicator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fdocker-volume-replicator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263641607,"owners_count":23493420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-26T02:16:57.244Z","updated_at":"2026-05-08T14:43:46.972Z","avatar_url":"https://github.com/InformaticsMatters.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-volume-replicator (3.0)\n\n![Architecture](https://img.shields.io/badge/architecture-amd64%20%7C%20arm64-lightgrey)\n[![CodeFactor](https://www.codefactor.io/repository/github/informaticsmatters/docker-volume-replicator/badge)](https://www.codefactor.io/repository/github/informaticsmatters/docker-volume-replicator)\n\n![GitHub tag (latest SemVer pre-release)](https://img.shields.io/github/v/tag/informaticsmatters/docker-volume-replicator?include_prereleases)\n\n[![build latest](https://github.com/informaticsmatters/docker-volume-replicator/actions/workflows/build-latest.yaml/badge.svg)](https://github.com/informaticsmatters/docker-volume-replicator/actions/workflows/build-latest.yaml)\n[![build tag](https://github.com/informaticsmatters/docker-volume-replicator/actions/workflows/build-tag.yaml/badge.svg)](https://github.com/informaticsmatters/docker-volume-replicator/actions/workflows/build-tag.yaml)\n\nA simple container image that expects two volume mounts \"/volume-a\"\nand \"/volume-b\" where data is replicated (using rsync) from one to the\nother based on an environment variable whose value is either `AtoB` or `BtoA`.\n\nWhen running the image...\n\n1.  Mount volumes onto the paths `/volume-a` and `/volume-b`\n2.  Set environment variable `REPLICATE_DIRECTION` (to either `AtoB` or `BtoA`)\n3.  Set environment variable `REPLICATE_DELETE` to anything other than `yes`\n    to avoid wiping the destination\n\nIn **2.0** you can use S3 as a destination or source. To do this you must set\n`VOLUME_A_IS_S3` (where '/volume-a' is expected to be the S3 volume).\nSee the `docker-entrypoint.sh` for details of these and other related\nenvironment variables.\n\nIn **3.0** rclone can be used to synchronise the volume to an S3 bucket.\nWe do this by setting `USE_RCLONE` (to `yes`) and providing values for\n`AWS_ACCESS_KEY`, `AWS_SECRET_ACCESS_KEY`, `AWS_DEFAULT_REGION`, and\n`S3_BUCKET_NAME`.\n\nIn **3.1** you can use rclone to replicate to a sub-directory\nthat is different for each day of the week. By setting `USE_DOW_FOR_RCLONE` (to `yes`)\nyou can keep backups for up to a week i.e. using sub-directories **1-Monday**,\n**2-Tuesday**, etc.\n\n## Building the image\nTo build an image tagged `3.1.0` just run docker compose...\n\n    $ export IMAGE_TAG=3.1.0\n    $ docker compose build\n\nAnd run typically with something like: -\n\n    $ docker run --rm -e REPLICATE_DIRECTION=AtoB \\\n            -v $PWD/a:/volume-a \\\n            -v $PWD/b:/volume-b \\\n            informaticsmatters/volume-replicator:$IMAGE_TAG\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finformaticsmatters%2Fdocker-volume-replicator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finformaticsmatters%2Fdocker-volume-replicator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finformaticsmatters%2Fdocker-volume-replicator/lists"}