{"id":24057450,"url":"https://github.com/fbielejec/mer-de-glace","last_synced_at":"2026-05-10T05:02:25.140Z","repository":{"id":138884314,"uuid":"334003516","full_name":"fbielejec/mer-de-glace","owner":"fbielejec","description":"wordpress to AWS Glacier backup tool","archived":false,"fork":false,"pushed_at":"2021-01-29T15:57:38.000Z","size":263,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-16T09:42:31.022Z","etag":null,"topics":["aws","backup","devops","glacier","rust","s3","wordpress"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/fbielejec.png","metadata":{"files":{"readme":"README.org","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}},"created_at":"2021-01-29T01:28:40.000Z","updated_at":"2021-06-10T19:17:50.000Z","dependencies_parsed_at":"2023-10-01T09:03:27.979Z","dependency_job_id":null,"html_url":"https://github.com/fbielejec/mer-de-glace","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"7a1d6a390ef1a56553bed0250117c8959cb9feb3"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fbielejec/mer-de-glace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbielejec%2Fmer-de-glace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbielejec%2Fmer-de-glace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbielejec%2Fmer-de-glace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbielejec%2Fmer-de-glace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fbielejec","download_url":"https://codeload.github.com/fbielejec/mer-de-glace/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbielejec%2Fmer-de-glace/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271574431,"owners_count":24783319,"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","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["aws","backup","devops","glacier","rust","s3","wordpress"],"created_at":"2025-01-09T05:42:18.388Z","updated_at":"2026-05-10T05:02:25.069Z","avatar_url":"https://github.com/fbielejec.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE:       mer-de-glace\n#+SUBTITLE:    wordpress backup tool\n#+AUTHOR:      Filip Bielejec\n#+EMAIL:       (concat \"fbielejec\" at-sign \"gmail.com\")\n#+DESCRIPTION: tool written in Rust to create backups of wordpress.org installations\n#+KEYWORDS:    rust, docker, wordpress, mySQL, mariadb, wordpress.org\n#+LANGUAGE:    en\n#+OPTIONS:     H:4 num:nil toc:2 p:t\n\n#+HTML_LINK_HOME: https://www.blog.nodrama.io/\n\n#+html: \u003cp align=\"center\"\u003e\u003cimg src=\"images/merglac3-thomas-muller.jpg\"/\u003e\u003c/p\u003e\n\n* Summary\n[[https://github.com/fbielejec/mer-de-glace][Mer-de-glace]] is a tool for creating rolling backups of [[https://wordpress.org/][wordpress.org]] installations.\n\nIt will periodically create a tar archives with the:\n- dump of mysql wordpress database\n- the wordpress html content\n\nThis tar archive will be than uploaded to the [[https://aws.amazon.com/glacier/][AWS Glacier]].\n\n* Using\n\nProbably the most convenient is to use the tool /via/ a docker container. Below an example docker-compose config:\n\n#+BEGIN_SRC yaml\nversion: \"3.5\"\nservices:\n\n  mysql:\n    image: mysql:5.7\n    container_name: mysql\n    command:\n      --default-authentication-plugin=mysql_native_password\n    volumes:\n      - /home/$USER/mysql-docker:/var/lib/mysql\n    expose:\n      - 3306\n    ports:\n      - 0.0.0.0:3306:3306\n    environment:\n      - MYSQL_ROOT_USER=root\n      - MYSQL_ROOT_PASSWORD=Pa55w0rd\n      - MYSQL_DATABASE=wordpress\n      - MYSQL_USER=wordpress\n      - MYSQL_PASSWORD=wordpress\n    restart: always\n\n  wordpress:\n    image: wordpress:latest\n    container_name: wordpress\n    depends_on:\n      - mysql\n    expose:\n      - 80\n    ports:\n      - 0.0.0.0:8080:80\n    volumes:\n      - /home/$USER/wordpress-docker:/var/www/html\n    environment:\n      - WORDPRESS_DB_HOST=mysql:3306\n      - WORDPRESS_DB_USER=wordpress\n      - WORDPRESS_DB_PASSWORD=wordpress\n    restart: always\n\n  mer-de-glace:\n    image: fbielejec/mer-de-glace\n    container_name: mer-de-glace\n    depends_on:\n      - wordpress\n      - mysql\n    environment:\n      # required\n      - WORDPRESS_DIRECTORY=/wordpress-docker\n      - MYSQL_HOST=mysql\n      - MYSQL_DATABASE=wordpress\n      - MYSQL_USER=root\n      - MYSQL_PASSWORD=Pa55w0rd\n      - BACKUPS_DIRECTORY=/wp_backups\n      - AWS_REGION=us-east-2\n      - AWS_GLACIER_VAULT=wordpress_backups\n      - AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID\n      - AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY\n      # optional\n      - BACKUP_INTERVAL=7 # create new glacier archive every 7 days\n      - ARCHIVE_ROLLING_PERIOD=14 # keep local (on-disk) archives for that long\n    volumes:\n      - /home/$USER/wordpress-docker:/wordpress-docker\n      - /home/$USER/wp_backups:/wp_backups\n#+END_SRC\n\n* Development\n\nExport following ENV variables:\n\n#+BEGIN_SRC bash\n# path to /var/www/html directory of the wordpress installations\nexport WORDPRESS_DIRECTORY=/home/$USER/wordpress-docker\nexport MYSQL_HOST=\"127.0.0.1\"\nexport MYSQL_PORT=3306\nexport MYSQL_DATABASE=wordpress\nexport MYSQL_USER=root\nexport MYSQL_PASSWORD=Pa55w0rd\nexport BACKUPS_DIRECTORY=/home/$USER/wp_backups\nexport AWS_REGION=us-east-2\nexport AWS_GLACIER_VAULT=test\nexport AWS_ACCESS_KEY_ID=\u003c...\u003e\nexport AWS_SECRET_ACCESS_KEY=\u003c...\u003e\n#+END_SRC\n\nStart a watcher on the sources:\n\n#+BEGIN_SRC bash\ncargo watch -x run\n#+END_SRC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbielejec%2Fmer-de-glace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffbielejec%2Fmer-de-glace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbielejec%2Fmer-de-glace/lists"}