Backing up databases is an essential task for any developer or database administrator. Whether you're managing a small project or a large-scale application, ensuring that your data is safe and recoverable is critical. Databasement addresses this need with its user-friendly web interface, allowing you to schedule, back up, and restore multiple database types effortlessly.
What Is Databasement?
Databasement is a modern, self-hosted database backup management application that supports a range of database systems including MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite, and Redis. With its intuitive web UI and powerful features, it simplifies the process of backing up and restoring databases, making it an excellent tool for developers and database administrators.
Key Features
- Multi-database support: Manage various databases from a single interface, saving you time and effort.
- SSH tunnel support: Securely connect to private databases through a bastion host with password or key-based authentication.
- Automated backups: Schedule recurring backups at your convenience with flexible retention policies, including time-based and GFS (grandfather-father-son).
- Multiple compression options: Choose from gzip, zstd (offering better compression), or AES-256 encryption for sensitive data.
- Cross-server restore: Easily restore backups across different environments, such as from production to staging.
- Flexible storage options: Store backups locally, on S3-compatible storage, or on remote servers via SFTP/FTP.
- Real-time monitoring: Stay informed with detailed job logs tracking backup and restore progress.
- Failure notifications: Receive alerts for any backup or restore failures to ensure you're always aware of the status of your data.
Installation & Setup
Getting started with Databasement is straightforward. Here are the steps to install it on your server:
git clone https://github.com/David-Crty/databasement.git
cd databasement
composer install --no-dev
cp .env.example .env
php artisan key:generate
After copying the example environment file, youโll need to configure your database connections in the .env file. Make sure you have the required PHP extensions installed, such as pdo_mysql, pdo_pgsql, and others based on your database needs.
php artisan migrate
php artisan serve
This will start the application, and you can visit http://localhost:8000 to access the web UI.
How to Use It
Let's go through a practical example of how to set up a backup schedule for a MySQL database:
php artisan db:backup --database=mysql --frequency=daily --time=02:00 --storage=s3
This command schedules a daily backup of your MySQL database at 2 AM, storing the backups on S3. You can customize the parameters to fit your requirements. The web UI also allows you to monitor the status of your backups and view logs.
Who Should Use Databasement?
Databasement is ideal for developers, database administrators, and teams managing multiple database systems who want a straightforward, self-hosted solution for backup and restore operations. If you value flexibility, real-time monitoring, and automated processes, Databasement is a tool worth considering.
Final Thoughts
In my opinion, Databasement stands out due to its multi-database support and user-friendly interface. The ability to manage backups from a single dashboard simplifies the often tedious task of database management. Plus, the added features like SSH tunneling and flexible storage options make it a robust choice for anyone serious about data protection. If you're looking for a reliable way to manage your database backups, give Databasement a try!