coolify icon indicating copy to clipboard operation
coolify copied to clipboard

feat:(database/backups) implement pgbackrest as a backup backend

Open elijah629 opened this issue 3 weeks ago • 1 comments

Changes

OpenAPI

  • Add new request fields to allow selection of the backup backend that is being used
  • When using the pgBackRest backend, you may select the type of backup (full, diff, incremental).

Backup system

  • When creating a backup, the system now checks for what backup backend is being used, it will run the correct backup function to match the backup backend.
  • I have also implemented the respective pgBackRest backup backend function. It runs the appropriate commands to create a pgBackRest backup (this ASSUMES pgBackRest is set up in the docker container + db and is accessible by docker run pgbackrest (with the right image and options that already comes from the pg_dump backup backend).
  • I have not added pgBackRest to the docker container and the user must do that manually (idk docker, and I did not want to learn it for this, the commands I listed in the impl worked for me outside of the container though, so just adding pgBackRest should be trivial to the end-user, or even as an extension for this PR)

Saftey

  • Full type saftey and checking for every user-inputted parameter above.

UI

  • I also added a tiny ui to create backups with this new system, it should integrate nicely with the existing backup creation UI.

Database Migration

  • I also made a migration file to add the new backup backend selection fields.

I hope mixing of "backup" and "backend" isn't that hard to read lol.

Issues

  • addresses, and hopefully fixes #7423

/claim #7423

elijah629 avatar Dec 01 '25 03:12 elijah629

oh dear god I merged from my v4.x main into next, uhhh how can I fix this. I notice that there is an additional commit mixed into my PR.

elijah629 avatar Dec 01 '25 03:12 elijah629

The requester of this feature prefer another PR (see this comment), so I will close this one.

Thank you for the work you have done on this PR. 💜

andrasbacsai avatar Dec 17 '25 14:12 andrasbacsai