Docker: Backups automáticos de tus bases de datos postgres

2023-07-03

Índice

  1. Docker compose
  2. Plantilla unRaid

Si utilizas postgres como gestor de bases de datos, existe un contenedor postgres-backup-local, que realiza una copia de seguridad de las bases de datos instaladas en nuestra instancia de PostgresSQL a una carpeta local.

Realiza copias de seguridad rotativas periódicas, mediante la variable SCHEDULE, de las bases de datos especificadas en POSTGRES_DB

Docker compose

Fichero docker compose

``` shell
version: '2'
services:
    postgres:
        image: postgres
        restart: always
        environment:
            - POSTGRES_DB=database
            - POSTGRES_USER=username
            - POSTGRES_PASSWORD=password
         #  - POSTGRES_PASSWORD_FILE=/run/secrets/db_password <-- alternative for POSTGRES_PASSWORD (to use with docker secrets)
    pgbackups:
        image: prodrigestivill/postgres-backup-local
        restart: always
        user: postgres:postgres # Optional: see below
        volumes:
            - /var/opt/pgbackups:/backups
        links:
            - postgres
        depends_on:
            - postgres
        environment:
            - POSTGRES_HOST=postgres
            - POSTGRES_DB=database
            - POSTGRES_USER=username
            - POSTGRES_PASSWORD=password
         #  - POSTGRES_PASSWORD_FILE=/run/secrets/db_password <-- alternative for POSTGRES_PASSWORD (to use with docker secrets)
            - POSTGRES_EXTRA_OPTS=-Z6 --schema=public --blobs
            - SCHEDULE=@daily
            - BACKUP_KEEP_DAYS=7
            - BACKUP_KEEP_WEEKS=4
            - BACKUP_KEEP_MONTHS=6
            - HEALTHCHECK_PORT=8080	
```

Plantilla unRaid

Procedemos a instalar la aplicación desde la tienda de aplicaciones

img

Y procedemos a configurar la plantilla

img

img

img

Las copias de seguridad guardan en /backups, que en mi ejemplo toma el valor de /mnt/backups/backup_BD

img

img

Espero que te haya gustado, pasa un gran día 🐧


Ingrese la dirección de su instancia