From dc253cd1ea27e6582500877137bc9e26143ee6b0 Mon Sep 17 00:00:00 2001
From: "Fco. Javier Delgado del Hoyo" <frandelhoyo@gmail.com>
Date: Sun, 8 Dec 2024 12:52:35 +0100
Subject: [PATCH 1/2] stick to client 10.11 version

---
 Dockerfile          | 18 +++++++++---------
 docker-compose.yaml | 11 ++++++-----
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 969c917..73a2588 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -12,17 +12,17 @@ ENV GO111MODULE=on
 RUN go mod tidy
 RUN CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build -a -o /go/bin/dockerize .
 
-FROM alpine:3.21.0
+FROM alpine:3.20.3
 LABEL maintainer "Fco. Javier Delgado del Hoyo <frandelhoyo@gmail.com>"
 
 RUN apk add --update \
-        tzdata \
-        bash \
-        mysql-client \
-        gzip \
-        openssl \
-        mariadb-connector-c \
-        fdupes && \
+    tzdata \
+    bash \
+    gzip \
+    openssl \
+    mysql-client=~10.11 \
+    mariadb-connector-c \
+    fdupes && \
     rm -rf /var/cache/apk/*
 
 COPY --from=binary /go/bin/dockerize /usr/local/bin
@@ -43,6 +43,6 @@ RUN mkdir /backup && \
 VOLUME ["/backup"]
 
 HEALTHCHECK --interval=2s --retries=1800 \
-	CMD stat /HEALTHY.status || exit 1
+    CMD stat /HEALTHY.status || exit 1
 
 CMD dockerize -wait tcp://${MYSQL_HOST}:${MYSQL_PORT} -timeout ${TIMEOUT} /run.sh
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 6dfbf75..5ac0e9d 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -1,8 +1,9 @@
-version: "2"
 services:
   mariadb:
-    image: mariadb:10
+    image: mariadb:10.11
     container_name: my_mariadb
+    security_opt:
+      - seccomp:unconfined
     expose:
       - 3306
     volumes:
@@ -14,7 +15,7 @@ services:
       - MYSQL_ALLOW_EMPTY_ROOT_PASSWORD=yes
     restart: unless-stopped
     healthcheck:
-      test: ["CMD", "healthcheck.sh", "--su-mysql", "--connect"]
+      test: [ "CMD", "healthcheck.sh", "--su-mysql", "--connect" ]
       timeout: 5s
       retries: 10
 
@@ -34,6 +35,6 @@ services:
       - INIT_BACKUP=1
       - CRON_TIME=0 0 * * *
     restart: unless-stopped
-  
-volumes: 
+
+volumes:
   data:

From cff595e6340c44ac53132dd4fed93872f85f0ca4 Mon Sep 17 00:00:00 2001
From: "Fco. Javier Delgado del Hoyo" <frandelhoyo@gmail.com>
Date: Sun, 8 Dec 2024 13:56:43 +0100
Subject: [PATCH 2/2] disable skip comments only when needed

---
 backup.sh           | 8 +++++++-
 docker-compose.yaml | 1 +
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/backup.sh b/backup.sh
index d7db8a7..ead820e 100755
--- a/backup.sh
+++ b/backup.sh
@@ -29,7 +29,13 @@ do
     echo "==> Dumping database: $db"
     FILENAME=/backup/$DATE.$db.sql
     LATEST=/backup/latest.$db.sql
-    if mysqldump --single-transaction --skip-comments $MYSQLDUMP_OPTS -h "$MYSQL_HOST" -P "$MYSQL_PORT" -u "$MYSQL_USER" -p"$MYSQL_PASS" $MYSQL_SSL_OPTS "$db" > "$FILENAME"
+    BASIC_OPTS="--single-transaction"
+    if [ -n "$REMOVE_DUPLICATES" ]
+    then
+      echo "WARNING: disabling comments in backup to remove deuplicate backups. Automatic database name detection won't work so set MYSQL_DATABASE on restore"
+      BASIC_OPTS="$BASIC_OPTS" --skip-comments
+    fi
+    if mysqldump $BASIC_OPTS $MYSQLDUMP_OPTS -h "$MYSQL_HOST" -P "$MYSQL_PORT" -u "$MYSQL_USER" -p"$MYSQL_PASS" $MYSQL_SSL_OPTS "$db" > "$FILENAME"
     then
       EXT=
       if [ -z "${USE_PLAIN_SQL}" ]
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 5ac0e9d..64dcef0 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -30,6 +30,7 @@ services:
     environment:
       - MYSQL_HOST=my_mariadb
       - MYSQL_USER=root
+      - MYSQL_DATABASE=${DATABASE_NAME}
       - MYSQL_PASS=${MARIADB_ROOT_PASSWORD}
       - MAX_BACKUPS=1
       - INIT_BACKUP=1