Docker

Imagen de Docker

La imagen de docker es un contenedor con el binario y el servicio de Donbackup instalados. Puedes utilizarlo para programar copias automáticas de un volumen de datos del propio host o de otros contenedor.

Durante el inicio, el contenedor se autoregistra como dispositivo y programa las tareas de copias de seguridad según la configuración dada en las variables de entorno:

Ejemplo de uso

$ docker run --name donbackup \
  -e TOKEN=token \
  -e REPO_NAME=repo_name \
  -e REPO_PASS=repo_pass \
  -e SCHEDULE=ISO8601_interval \
  -v /dir/to/store:/backup \
  -d registry.donbackup.com/donbackup:latest

Autorización

Exite dos formas de autorizar el contenedor en Donbackup: mediante token (preferida):

  • -e TOKEN=token

o mediante el usuario y contraseña de la cuenta de Donbackup:

  • -e USER_NAME=user_name
  • -e USER_PASS=user_pass

Repositorio

  • -e REPO_NAME=repo_name
  • -e REPO_PASS=repo_pass

Volumen de datos para copias

  • -v /dir/to/store:/backup monta el directorio a salvaguardar del host en el contenedor de modo que Donbackup tenga acceso a los ficheros.

Docker Compose

version: '3.5'
services:  
  <...>

  donbackup:
    container_name: donbackup
    image: registry.donbackup.com/donbackup:latest
    environment:
        - "USER_NAME=${USER_NAME}"
        - "USER_PASS=${USER_PASS}"
        - "REPO_NAME=${REPO_NAME}"
        - "REPO_PASS=${REPO_PASS}"
        - "SCHEDULE=R/2021-04-15T20:07:00.877Z/P1D"
    volumes:
      - "/var/www/html:/var/www/html"

Variables de entorno

USER_NAME

Usuario de la cuenta de Donbackup. Alternativamente puedes utilizar un token de acceso dado por la variable de entorno TOKEN.

USER_PASS

Contraseña de la cuenta de Donbackup cuando se utiliza la variable USER_NAME.

TOKEN

Token de acceso al repositorio.

Más información sobre los tokens →

REPO_NAME

Nombre del repositorio a utilizar. Durante el proceso de inicio del contenedorer se comprueba la existencia y en caso de no existir lo crea utilizando la contraseña dada por REPO_PASS.

REPO_PASS

La contraseña de encriptación del repositorio.

SCHEDULE

Intervalo programación copias de seguridad. ISO8601 Interval Notation →.

KEEP_HOURLY

Política de retención: horas.

KEEP_DAILY

Política de retención: días.

KEEP_WEEKLY

Política de retención: semanas.

KEEP_MONTHLY

Política de retención: meses.

KEEP_YEARLY

Política de retención: años.

Backup MySQL

Para activar las copias de seguridad de volcados MySQL desde el Panel de control levanta un contenedor MySQL en la misma red que donbackup y comparte su contraseña:

version: '3.5'
services:
  <...>

  mysql:
  container_name: mysql
  image: mysql:5.7
  restart: always
  volumes:
    - "/var/lib/mysql:/var/lib/mysql"
  environment:      
    - "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"

  donbackup:
    container_name: donbackup
    image: registry.donbackup.com/donbackup:latest
    environment:
      - "USER_NAME=${USER_NAME}"
      - "USER_PASS=${USER_PASS}"
      - "REPO_NAME=${REPO_NAME}"
      - "REPO_PASS=${REPO_PASS}"
      - "SCHEDULE=R/2021-04-15T20:07:00.877Z/P1D"
      - "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
    volumes:
      - "/var/www/html:/var/www/html"