p-bizouard / CloudBackup

Orchestrateur de sauvegardes diverses : Instances Openstack, Bases de données, fichiers distants ou locaux. Sauvegarde via Restic et notifications en cas d'erreurs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CloudBackup

Description

CloudBackup is a backup software powered by Restic. It can backup:

  • Openstack instances
  • MySQL/PostgreSQL databases (direct connection or with ssh gateway)
  • Custom remote command by ssh (download a single file. Should use tar to backup a directory)
  • Remote directory mounted with sshfs
  • SFTP
  • Everything with Rclone (source and destination must both use rclone)
  • Check and alert on en external restic repository

The dashboard show all backup statuses, and provide the restic commands to download your data.

Global workflow

Workflow

Openstack instance

Todo

  • Optional restic backup arguments
  • Start manual backup

Requirements

  • Git
  • Docker / docker-compose

Local installation - execute once

  • Install dependencies, configure environments, run containers:
cp -f .env .env.local
  • Launch php + database + assets
./start-dev.sh

If errors pop up because you already have containers using required ports, you can stop all running containers with docker stop $(docker ps -aq)

  • Create database and load fixtures:
docker-compose exec php bin/console doctrine:database:create
docker-compose exec php bin/console doctrine:migrations:migrate
docker-compose exec php bin/console hautelook:fixtures:load --env=dev

Development environment

Launch the development environment

./start-dev.sh

Access to your containers

Start backups

docker-compose exec php bin/console app:backup:start

Useful commands - Symfony with docker cheatsheet

See the Symfony with docker cheatsheet

To update graph in README.md

docker-compose run php bash -c "bin/console workflow:dump backup | dot -Tsvg -o doc/graph.svg"

About

Orchestrateur de sauvegardes diverses : Instances Openstack, Bases de données, fichiers distants ou locaux. Sauvegarde via Restic et notifications en cas d'erreurs.

License:MIT License


Languages

Language:PHP 86.8%Language:Twig 8.3%Language:JavaScript 1.9%Language:Dockerfile 1.8%Language:Smarty 0.8%Language:Shell 0.2%Language:SCSS 0.1%Language:CSS 0.0%