Backups of my environments databases

INFORMATION

Relevant information to this issue:

ISSUE
Hi all,
I would like to know how I can produce a regular back-up of the databases used in my environments. For the moment, I use a Scaleway cluster but I don’t manage my databases through Scaleway.
Could you advise me for the best practices to do ? Is there anything we can set-up within Qovery admin to do so ?

Thank you,
Dan

Hello @dandray !

If I understand properly, what you want to do is to have a (daily?) backup of your DBs?

While usually backups are handled by cloud providers in case of managed DBs, but you can do a cron job Qovery’s side to manually backup your DBs and push outputs to an object storage bucket.

Here’s an example of a containered DB backup using Replibyte, perfornming backups and pushing those to a SCW object storage bucket.

You need to fill env variables to setup replibyte config file:

REPLIBYTE_CONFIG={{YOUR_DATABASE_PROTOCOL}}://{{YOUR_DATABASE_USER}}:{{YOUR_DATABASE_PASSWORD}}@{{YOUR_DATABASE_HOST_BASE}}.{{QOVERY_KUBERNETES_NAMESPACE_NAME}}.svc.cluster.local:{{YOUR_DATABASE_PORT}}
YOUR_DATABASE_ENGINE=
YOUR_DATABASE_HOST=
YOUR_DATABASE_PROTOCOL=
YOUR_DATABASE_USER= (can use a Qovery alias to your Qovery DB user)
YOUR_DATABASE_PASSWORD= (can use a Qovery alias to your Qovery DB password)
YOUR_DATABASE_DBNAME= (can use a Qovery alias to your Qovery DB db name)

You will then have replibyte outputs in the s3 bucket, if you want plain SQL dumps and / or keep only a certain number of backups, then you can updqte the cron job and wrap Replibyte in it in order to have more flexibility.

This is just an example using Replibyte, but you can use another tool such as pg_dump using a cron job.

Let me know if it helps.

Cheers,