From b0413e6708a190dd31999d6784148f87fedfef69 Mon Sep 17 00:00:00 2001 From: Dave Conroy Date: Fri, 3 Nov 2023 15:00:56 -0700 Subject: [PATCH] Version 4.0.x examples --- examples/compose.yml | 67 +++++++++++++++++++ .../{docker-compose.yml => compose.yml} | 59 ++++++++-------- .../mssql/{docker-compose.yml => compose.yml} | 45 ++++++------- examples/mysql/docker-compose.yml | 53 --------------- examples/{mysql => }/post-script.sh | 0 5 files changed, 118 insertions(+), 106 deletions(-) create mode 100644 examples/compose.yml rename examples/mssql-blobxfer/{docker-compose.yml => compose.yml} (60%) rename examples/mssql/{docker-compose.yml => compose.yml} (69%) delete mode 100644 examples/mysql/docker-compose.yml rename examples/{mysql => }/post-script.sh (100%) diff --git a/examples/compose.yml b/examples/compose.yml new file mode 100644 index 0000000..8c3f108 --- /dev/null +++ b/examples/compose.yml @@ -0,0 +1,67 @@ +services: + example-db: + hostname: example-db-host + container_name: example-db + image: tiredofit/mariadb:10.11 + ports: + - 3306:3306 + volumes: + - ./db:/var/lib/mysql + environment: + - ROOT_PASS=examplerootpassword + - DB_NAME=example + - DB_USER=example + - DB_PASS=examplepassword + restart: always + networks: + - example-db-network + + example-db-backup: + container_name: example-db-backup + image: tiredofit/db-backup + volumes: + - ./backups:/backup + #- ./post-script.sh:/assets/custom-scripts/post-script.sh + environment: + - TIMEZONE=America/Vancouver + - CONTAINER_NAME=example-db-backup + - CONTAINER_ENABLE_MONITORING=FALSE + # - DEBUG_MODE=TRUE + + - BACKUP_JOB_CONCURRENCY=1 # Only run one job at a time + - DEFAULT_CHECKSUM=NONE # Don't create checksums + - DEFAULT_COMPRESSION=ZSTD # Compress all with ZSTD + - DEFAULT_DUMP_INTERVAL=1440 # Backup every 1440 minutes + - DEFAULT_DUMP_BEGIN=0000 # Start backing up at midnight + - DEFAULT_CLEANUP_TIME=8640 # Cleanup backups after a week + + - DB01_TYPE=mariadb + - DB01_HOST=example-db-host + - DB01_NAME=example + - DB01_USER=example + - DB01_PASS=examplepassword + - DB01_DUMP_INTERVAL=30 # (override) Backup every 30 minutes + - DB01_DUMP_BEGIN=+1 # (override) Backup starts immediately + - DB01_CLEANUP_TIME=180 # (override) Cleanup backups they are older than 180 minutes + - DB01_CHECKSUM=SHA1 # (override) Create a SHA1 checksum + - DB01_COMPRESSION=GZ # (override) Compress with GZIP + + #- DB02_TYPE=postgres + #- DB02_HOST=example-postgres-host + #- DB02_NAME=example + #- DB02_USER=example + #- DB02_PASS=examplepassword + #- DB02_DUMP_INTERVAL=60 # (override) Backup every 60 minutes + #- DB02_DUMP_BEGIN=+10 # (override) Backup starts in ten minutes + #- DB02_CLEANUP_TIME=240 # (override) Cleanup backups they are older than 240 minutes + #- DB02_CHECKSUM=MD5 # (override) Create a SHA1 checksum + #- DB02_COMPRESSION=BZ # (override) Compress with BZIP + + restart: always + networks: + - example-db-network + +networks: + example-db-network: + name: example-db-network + diff --git a/examples/mssql-blobxfer/docker-compose.yml b/examples/mssql-blobxfer/compose.yml similarity index 60% rename from examples/mssql-blobxfer/docker-compose.yml rename to examples/mssql-blobxfer/compose.yml index efe648f..462834a 100644 --- a/examples/mssql-blobxfer/docker-compose.yml +++ b/examples/mssql-blobxfer/compose.yml @@ -1,13 +1,7 @@ -# +# # Example for Microsoft SQL Server # upload with blobxfer to azure storage -# - -version: '2' - -networks: - example-mssql-blobxfer-net: - name: example-mssql-blobxfer-net +# services: example-mssql-s3-db: @@ -32,7 +26,7 @@ services: # execute in terminal --> docker build -t tiredofit/db-backup-mssql-blobxfer . # replace --> image: tiredofit/db-backup-mssql # image: tiredofit/db-backup - image: tiredofit/db-backup-mssql-blobxfer + image: tiredofit/db-backup links: - example-mssql-s3-db volumes: @@ -40,30 +34,35 @@ services: - ./tmp/backups:/tmp/backups # shared tmp backup directory #- ./post-script.sh:/assets/custom-scripts/post-script.sh environment: - # - DEBUG_MODE=TRUE - - DB_TYPE=mssql - - DB_HOST=example-db-host - # - DB_PORT=1488 - # - DB_NAME=ALL # [ALL] not working on sql server. - # create database with name `test1` manually first - - DB_NAME=test1 # Create this database - - DB_USER=sa - - DB_PASS=5hQa0utRFBpIY3yhoIyE - - DB_DUMP_FREQ=1 # backup every 5 minute - # - DB_DUMP_BEGIN=0000 # backup starts immediately - - DB_CLEANUP_TIME=3 # clean backups they are older than 60 minutes - - ENABLE_CHECKSUM=TRUE - - CHECKSUM=SHA1 - - COMPRESSION=GZ - - SPLIT_DB=FALSE + - TIMEZONE=America/Vancouver - CONTAINER_ENABLE_MONITORING=FALSE + - CONTAINER_NAME=example-mssql-blobxfer-db-backup + # - DEBUG_MODE=TRUE + - DB01_TYPE=mssql + - DB01_HOST=example-db-host + # - DB01_PORT=1488 + # create database with name `test1` manually first + - DB01_NAME=test1 # Create this database + - DB01_USER=sa + - DB01_PASS=5hQa0utRFBpIY3yhoIyE + - DB01_DUMP_INTERVAL=5 # backup every 5 minute + # - DB01_DUMP_BEGIN=0000 # backup starts at midnight vs not set immediately + - DB01_CLEANUP_TIME=60 # clean backups they are older than 60 minutes + - DB01_CHECKSUM=SHA1 # Set Checksum to be SHA1 + - DB01_COMPRESSION=GZ # Set compression to use GZIP + + # === S3 Blobxfer === - - BACKUP_LOCATION=blobxfer + - DB01_BACKUP_LOCATION=blobxfer # Add here azure storage account - - BLOBXFER_STORAGE_ACCOUNT={TODO Add Storage Name} + - DB01_BLOBXFER_STORAGE_ACCOUNT={TODO Add Storage Name} # Add here azure storage account key - - BLOBXFER_STORAGE_ACCOUNT_KEY={TODO Add Key} - - BLOBXFER_REMOTE_PATH=docker-db-backup + - SB01_BLOBXFER_STORAGE_ACCOUNT_KEY={TODO Add Key} + - DB01_BLOBXFER_REMOTE_PATH=docker-db-backup restart: always networks: - example-mssql-blobxfer-net: \ No newline at end of file + example-mssql-blobxfer-net: + +networks: + example-mssql-blobxfer-net: + name: example-mssql-blobxfer-net diff --git a/examples/mssql/docker-compose.yml b/examples/mssql/compose.yml similarity index 69% rename from examples/mssql/docker-compose.yml rename to examples/mssql/compose.yml index 4e9554c..b2ae491 100644 --- a/examples/mssql/docker-compose.yml +++ b/examples/mssql/compose.yml @@ -1,12 +1,6 @@ -# +# # Example for Microsoft SQL Server -# - -version: '2' - -networks: - example-mssql-net: - name: example-mssql-net +# services: example-mssql-db: @@ -31,7 +25,7 @@ services: # execute in terminal --> docker build -t tiredofit/db-backup-mssql . # replace --> image: tiredofit/db-backup-mssql # image: tiredofit/db-backup - image: tiredofit/db-backup-mssql + image: tiredofit/db-backup links: - example-mssql-db volumes: @@ -39,23 +33,28 @@ services: - ./tmp/backups:/tmp/backups # shared tmp backup directory #- ./post-script.sh:/assets/custom-scripts/post-script.sh environment: + - TIMEZONE=America/Vancouver + - CONTAINER_ENABLE_MONITORING=FALSE + - CONTAINER_NAME=example-mssql-blobxfer-db-backup + # - DEBUG_MODE=TRUE - - DB_TYPE=mssql - - DB_HOST=example-db-host + - DB01_TYPE=mssql + - DB01_HOST=example-db-host # - DB_PORT=1488 # - DB_NAME=ALL # [ALL] not working on sql server. # create database with name `test1` manually first - - DB_NAME=test1 - - DB_USER=sa - - DB_PASS=5hQa0utRFBpIY3yhoIyE - - DB_DUMP_FREQ=1 # backup every minute - # - DB_DUMP_BEGIN=0000 # backup starts immediately - - DB_CLEANUP_TIME=5 # clean backups they are older than 5 minute - - ENABLE_CHECKSUM=FALSE - - CHECKSUM=SHA1 - - COMPRESSION=GZ - - SPLIT_DB=FALSE - - CONTAINER_ENABLE_MONITORING=FALSE + - DB01_NAME=test1 + - DB01_USER=sa + - DB01_PASS=5hQa0utRFBpIY3yhoIyE + - DB01_DUMP_INTERVAL=1 # backup every minute + # - DB01_DUMP_BEGIN=0000 # backup starts at midnight vs unset immediately + - DB01_CLEANUP_TIME=5 # clean backups they are older than 5 minute + - DB01_CHECKSUM=NONE + - DB01_COMPRESSION=GZ restart: always networks: - example-mssql-net: \ No newline at end of file + example-mssql-net: + +networks: + example-mssql-net: + name: example-mssql-net diff --git a/examples/mysql/docker-compose.yml b/examples/mysql/docker-compose.yml deleted file mode 100644 index f306aae..0000000 --- a/examples/mysql/docker-compose.yml +++ /dev/null @@ -1,53 +0,0 @@ -version: '2' - -networks: - example-db-network: - name: example-db-network - -services: - example-db: - hostname: example-db-host - container_name: example-db - image: mariadb:latest - ports: - - 13306:3306 - volumes: - - ./db:/var/lib/mysql - environment: - - MYSQL_ROOT_PASSWORD=examplerootpassword - - MYSQL_DATABASE=example - - MYSQL_USER=example - - MYSQL_PASSWORD=examplepassword - restart: always - networks: - - example-db-network - - example-db-backup: - container_name: example-db-backup - image: tiredofit/db-backup - links: - - example-db - volumes: - - ./backups:/backup - #- ./post-script.sh:/assets/custom-scripts/post-script.sh - environment: - - TIMEZONE=America/Vancouver - - CONTAINER_ENABLE_MONITORING=FALSE - # - DEBUG_MODE=TRUE - - DB_TYPE=mariadb - - DB_HOST=example-db-host - - DB_NAME=example - - DB_USER=example - - DB_PASS=examplepassword - - DB_DUMP_FREQ=1 # backup every minute - # - DB_DUMP_BEGIN=0000 # backup starts immediately - - DB_CLEANUP_TIME=5 # clean backups they are older than 5 minute - - CHECKSUM=SHA1 - - COMPRESSION=GZ - - SPLIT_DB=FALSE - - restart: always - networks: - - example-db-network - - diff --git a/examples/mysql/post-script.sh b/examples/post-script.sh similarity index 100% rename from examples/mysql/post-script.sh rename to examples/post-script.sh