Files
duplicati/docker/mysqlclient
2023-06-10 05:02:55 +01:00
..
.
2023-06-10 05:02:55 +01:00
.
2023-06-10 05:02:55 +01:00

Duplicati / mySql Client

Using option run-script-before-required on duplicati job set value to /duplicati-mysqlclient/scripts/backupdb.sh. And job will create a database dump configured using docker environment variables

Build Image

docker


#Executed on repository root folder
docker build -t duplicati-mysqlclient:latest -f docker/mysqlclient/Dockerfile .

tar

#Executed on repository root folder
sudo docker build -t duplicati-mysqlclient:latest -f docker/mysqlclient/Dockerfile --output type=tar,dest=build/duplicati-mysqlclient.tar .


Portainer

Images -> Build a new Image -> URL

Name: duplicati-mysqlclient:latest

URL: https://git.limbosolutions.com/kb/duplicati.git

Dockerfile path: docker/mysqlclient/Dockerfile

Run Container

Docker Compose

version: "3"
services:
  duplicati:
    image: duplicati-mysqlclient 
    environment:
      - MYSQL_HOST=${MYSQL_HOST}
      - MYSQL_DATABASE=${MYSQL_DATABASE}
      - MYSQL_USER=${MYSQL_USER}
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
      - DESTINATION=/db-dumps
    volumes:
      - duplicati-data:/data
      - db-dumps:/db-dumps
    ports:
      - 8200:8200
    restart: unless-stopped
volumes:
  duplicati-data:
  db-dumps:

Transfer To another system

  1. Copy docker compose and execute on another system
  2. Check volumes and service started succesfully
  3. Stop all compose services
  4. Change volume on duplicati service to user a temporary volume example (duclicati_tmpdata)
  5. Check if all volumes are writable on duplication service
  6. Start only the duplicati service (with temporary volume) on target system
  7. On source system Stop app services on docker compose except duplicati
  8. Execute a full backup ou source system
  9. On target system execute a manual restore to original destination
  10. Stop duplicati
  11. Change duplicati to use original volume
  12. And change volumes on duplicati to RO
  13. Start all services
  14. Check everything ok

Environment Variables