/backup-manager

Backup Manager is a self-hosted tool for centralized backup management across various data types and storage servers. It features scheduling, retention policies, encryption, and notifications, offering a robust solution for backups, migrations, and data integrity.

Primary LanguagePHPMIT LicenseMIT

Backup Manager v2.0.2

Installation of Backup Manager using backup-manager CLI (tested on Ubuntu/Linux, for other OS, please refer to the Installation of Backup Manager using docker compose)

How to install dependencies

1 - Install docker engine

2 - Download backup-manager CLI and add to PATH:

mkdir -p ~/.local/backup-manager-cli/ && \
cd ~/.local/backup-manager-cli/ && \
curl -o backup-manager https://raw.githubusercontent.com/brayandm/backup-manager/2.0.2/backup-manager.sh && \
chmod +x backup-manager && \
echo "export PATH=\"~/.local/backup-manager-cli/:\$PATH\"" >> ~/.bashrc && \
source ~/.bashrc

How to install

backup-manager install 2.0.2

How to start

backup-manager start

How to open (browser)

backup-manager open

How to stop

backup-manager stop

How to uninstall

backup-manager uninstall

How to update to this version (keeping the data)

backup-manager update 2.0.2

How to check the current version

backup-manager version

Installation of Backup Manager using docker compose (all OS)

How to install dependencies

1 - Install docker engine

2 - Download docker-compose.yml:

mkdir -p ~/.local/backup-manager/ && \
cd ~/.local/backup-manager/ && \
echo 2.0.2 > VERSION && \
curl -o docker-compose.yml https://raw.githubusercontent.com/brayandm/backup-manager/2.0.2/docker-compose.yml

How to start

cd ~/.local/backup-manager/ && \
APP_PORT=<YOUR_CUSTOM_PORT> VERSION=2.0.2 docker compose up -d

How to open (browser)

open http://localhost:<YOUR_CUSTOM_PORT>

How to stop

cd ~/.local/backup-manager/ && \
docker compose down --remove-orphans

How to uninstall

cd ~/.local/backup-manager/ && \
VERSION=$(cat VERSION) && \
VERSION=VERSION docker compose down --volumes --remove-orphans --rmi all && \
cd ~/.local/ && \
rm -rf backup-manager/

How to update to this version (keeping the data)

cd ~/.local/backup-manager/ && \
VERSION=$(cat VERSION) && \
VERSION=VERSION docker compose down --remove-orphans --rmi all && \
cd ~/.local/ && \
rm -rf backup-manager/ && \
mkdir -p ~/.local/backup-manager/ && \
cd ~/.local/backup-manager/ && \
echo 2.0.2 > VERSION && \
curl -o docker-compose.yml https://raw.githubusercontent.com/brayandm/backup-manager/2.0.2/docker-compose.yml

Screenshots

Overview

App Overview

Backup configuration

Backup Configuration

Features

  • OS compatibility:

    • for use:
      • All OS that supports docker engine
    • for storage servers, intermediate servers and data sources:
      • Linux
  • Overview:

    • Metrics about backups and migrations
    • Amount of backups and migrations per week and year
    • Free and used space in storage servers
  • Setup data sources:

    • Folder
    • File
    • Database:
      • MySQL
      • PostgreSQL
    • AWS S3
  • Setup storage servers:

    • AWS S3
    • Normal server
  • Connections Chainings:

    • SSH
    • Docker container
  • Backup configuration:

    • Multiple data sources and storage servers
    • Backup schedule
    • Backup policy retention
    • Backup compression
    • Backup encryption
    • Backup integrity check
    • Backup monitoring
  • Migration configuration:

    • Multiple data sources
    • Migration schedule
    • Migration compression
    • Migration monitoring
  • Notifications:

    • Telegram
  • Authentication:

    • JWT
    • One admin user

For developers

Setup git hooks

cp .hooks/* .git/hooks/

How to build docker images

bash build.sh

How to generate a readme file using the template in /templates folder

bash genreadme.sh

How to generate a new version x.x.x

bash versionate.sh