Borg MySQL Backup

Borg MySQL Backup is a Docker backup container for homelab and server environments that backs up MySQL or PostgreSQL database dumps to local or remote…

  • Backup
  • Cloud
Borg MySQL Backup is a Docker backup container for homelab and server environments that backs up MySQL or PostgreSQL database dumps to local or remote BorgBackup repositories, with optional file and directory backup for versioned database protection.

Platform availability

Available on 1 of 9 platforms

  • Unraid
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS (not listed)
  • Proxmox (not listed)
  • Helm (not listed)
  • Mac (not listed)
  • Windows (not listed)
  • Linux (not listed)

Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.

55/100 Fair

Maintained
84last commit 141 days ago
Popular
2517 GitHub stars
Easy to install
351 install platform, install notes, Docker image
Light to run
No data

Based on 3 of 4 factors.

Availability: platform listings confirmed today, links checked 5 days ago

GitHub stars
17
Open issues
0
Last commit
2026-05-27
Latest release
0.0.1
Activity
unknown

Checked 6 days ago - source: GitHub (laur89/docker-borg-mysql-backup)

Resources & Compatibility

ARM (e.g. Raspberry Pi) is not supported.

Checked 17 days ago - source: Docker Hub image tags and published docs

First-install notes

  • Enter MySQL details before backup Provide the MySQL connection settings (host, port, user, password, database name) and the folder where .sql dumps should be written, using the provided settings named DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME, and DUMP_DIR. If any required value is missing or wrong, the script cannot connect to the database and the backup will fail or create an empty dump. source
  • Set container settings in .env In the .env file, set PORT (the web page port), PUID/PGID (the user and group IDs the container runs as), LOCAL_STORAGE_PATH (where the app keeps files), and TZ (timezone). If these are missing or wrong, the web UI may be unreachable, files may have permission errors, and timestamps may be off. source
  • Start it after setup Run docker compose up -d to start the app in the background after your settings are in place. This lets it keep running while you use the computer, instead of stopping if you close the terminal. source
  • Initial setup Initialise local or remote BorgBackup repositories before first backup, and mount /config with a crontab and/or passwordless SSH key for cron or remote use. source

Fetched 8 days ago - each note links to its source

Alternatives

No alternatives collected yet.

Common questions

How do I run borg-mysql-backup on a schedule?

Put a crontab file named crontab in the /config mount and run the backup script by cron. For remote Borg usage, also mount a passwordless SSH key named id_rsa in /config.

Do I need to create the Borg repository before using this container?

Yes. Both local and remote repositories must be initialized manually beforehand. You can start the image interactively and use the shell to initialize a repository if needed.

Can it stop other Docker containers while taking the backup?

Yes, specify the container names to the backup script. This requires mounting the Docker socket, which effectively gives the container root permissions on the host.

Can I back up files without creating database dumps?

Yes. Other files and directories can be included in the backup, and database dumps can be excluded altogether.

What error notifications does borg-mysql-backup support?

It can send error notifications via SMTP, Pushover, or a Healthchecks /fail endpoint. You can put a custom msmtprc file in /config instead of defining SMTP environment variables.

Where should I store Borg's config and cache?

Bind host directories to /root/.cache/borg and /root/.config/borg, which is strongly recommended. You can also relocate them with BORG_CACHE_DIR and BORG_CONFIG_DIR.

Answers sourced from github.com

Community

Collected 11 days ago - public community threads