From 84a26cecad87a3a5c26d7c51161cb1b374066829 Mon Sep 17 00:00:00 2001 From: Pau Rodriguez-Estivill Date: Sat, 20 Aug 2022 13:32:51 +0200 Subject: [PATCH] Remove env variables from Dockerfile --- .github/workflows/ci.yml | 37 ------------------------------------- alpine.Dockerfile | 22 +--------------------- backup.sh | 22 ++++++++++++++++++++++ debian.Dockerfile | 22 +--------------------- 4 files changed, 24 insertions(+), 79 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b183f6f..2704aea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,19 +34,6 @@ jobs: POSTGRES_PORT: 5432 POSTGRES_EXTRA_OPTS: "-Z0" BACKUP_DIR: ".data" - # Defaults - POSTGRES_DB_FILE: "**None**" - POSTGRES_USER_FILE: "**None**" - POSTGRES_PASSWORD_FILE: "**None**" - POSTGRES_PASSFILE_STORE: "**None**" - POSTGRES_CLUSTER: "FALSE" - BACKUP_SUFFIX: ".sql.gz" - BACKUP_KEEP_DAYS: 7 - BACKUP_KEEP_WEEKS: 4 - BACKUP_KEEP_MONTHS: 6 - BACKUP_KEEP_MINS: 1440 - WEBHOOK_URL: "**None**" - WEBHOOK_EXTRA_ARGS: "" run: | echo "Test backup script for pg_dump..." rm -fR "$BACKUP_DIR" @@ -64,18 +51,6 @@ jobs: POSTGRES_EXTRA_OPTS: "-Z0 -Fd" BACKUP_SUFFIX: "" BACKUP_DIR: ".data" - # Defaults - POSTGRES_DB_FILE: "**None**" - POSTGRES_USER_FILE: "**None**" - POSTGRES_PASSWORD_FILE: "**None**" - POSTGRES_PASSFILE_STORE: "**None**" - POSTGRES_CLUSTER: "FALSE" - BACKUP_KEEP_DAYS: 7 - BACKUP_KEEP_WEEKS: 4 - BACKUP_KEEP_MONTHS: 6 - BACKUP_KEEP_MINS: 1440 - WEBHOOK_URL: "**None**" - WEBHOOK_EXTRA_ARGS: "" run: | echo "Test backup script for pg_dump with directories..." rm -fR "$BACKUP_DIR" @@ -93,18 +68,6 @@ jobs: POSTGRES_PORT: 5432 POSTGRES_EXTRA_OPTS: "" BACKUP_DIR: ".data" - # Defaults - POSTGRES_DB_FILE: "**None**" - POSTGRES_USER_FILE: "**None**" - POSTGRES_PASSWORD_FILE: "**None**" - POSTGRES_PASSFILE_STORE: "**None**" - BACKUP_SUFFIX: ".sql.gz" - BACKUP_KEEP_DAYS: 7 - BACKUP_KEEP_WEEKS: 4 - BACKUP_KEEP_MONTHS: 6 - BACKUP_KEEP_MINS: 1440 - WEBHOOK_URL: "**None**" - WEBHOOK_EXTRA_ARGS: "" run: | echo "Test backup script for pg_dumpall..." rm -fR "$BACKUP_DIR" diff --git a/alpine.Dockerfile b/alpine.Dockerfile index a63c863..0e56ef8 100644 --- a/alpine.Dockerfile +++ b/alpine.Dockerfile @@ -9,27 +9,7 @@ RUN set -x \ && curl -L https://github.com/prodrigestivill/go-cron/releases/download/$GOCRONVER/go-cron-$TARGETOS-$TARGETARCH-static.gz | zcat > /usr/local/bin/go-cron \ && chmod a+x /usr/local/bin/go-cron -ENV POSTGRES_DB="**None**" \ - POSTGRES_DB_FILE="**None**" \ - POSTGRES_HOST="**None**" \ - POSTGRES_PORT=5432 \ - POSTGRES_USER="**None**" \ - POSTGRES_USER_FILE="**None**" \ - POSTGRES_PASSWORD="**None**" \ - POSTGRES_PASSWORD_FILE="**None**" \ - POSTGRES_PASSFILE_STORE="**None**" \ - POSTGRES_EXTRA_OPTS="-Z6" \ - POSTGRES_CLUSTER="FALSE" \ - SCHEDULE="@daily" \ - BACKUP_DIR="/backups" \ - BACKUP_SUFFIX=".sql.gz" \ - BACKUP_KEEP_DAYS=7 \ - BACKUP_KEEP_WEEKS=4 \ - BACKUP_KEEP_MONTHS=6 \ - BACKUP_KEEP_MINS=1440 \ - HEALTHCHECK_PORT=8080 \ - WEBHOOK_URL="**None**" \ - WEBHOOK_EXTRA_ARGS="" +ENV SCHEDULE="@daily" HEALTHCHECK_PORT=8080 COPY backup.sh /backup.sh diff --git a/backup.sh b/backup.sh index 007f4fe..196e9e6 100755 --- a/backup.sh +++ b/backup.sh @@ -1,6 +1,28 @@ #!/usr/bin/env bash set -Eeo pipefail +# Set the default env values if empty +POSTGRES_DB=${POSTGRES_DB:-"**None**"} +POSTGRES_DB_FILE=${POSTGRES_DB_FILE:-"**None**"} +POSTGRES_HOST=${POSTGRES_HOST:-"**None**"} +POSTGRES_PORT=${POSTGRES_PORT:-5432} +POSTGRES_USER=${POSTGRES_USER:-"**None**"} +POSTGRES_USER_FILE=${POSTGRES_USER_FILE:-"**None**"} +POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-"**None**"} +POSTGRES_PASSWORD_FILE=${POSTGRES_PASSWORD_FILE:-"**None**"} +POSTGRES_PASSFILE_STORE=${POSTGRES_PASSFILE_STORE:-"**None**"} +POSTGRES_EXTRA_OPTS=${POSTGRES_EXTRA_OPTS:-"-Z6"} +POSTGRES_CLUSTER=${POSTGRES_CLUSTER:-"FALSE"} +BACKUP_DIR=${BACKUP_DIR:-"/backups"} +BACKUP_SUFFIX=${BACKUP_SUFFIX:-".sql.gz"} +BACKUP_KEEP_DAYS=${BACKUP_KEEP_DAYS:-7} +BACKUP_KEEP_WEEKS=${BACKUP_KEEP_WEEKS:-4} +BACKUP_KEEP_MONTHS=${BACKUP_KEEP_MONTHS:-6} +BACKUP_KEEP_MINS=${BACKUP_KEEP_MINS:-1440} +WEBHOOK_URL=${WEBHOOK_URL:-"**None**"} +WEBHOOK_EXTRA_ARGS=${WEBHOOK_EXTRA_ARGS:-""} + +# Script start if [ "${POSTGRES_DB}" = "**None**" -a "${POSTGRES_DB_FILE}" = "**None**" ]; then echo "You need to set the POSTGRES_DB or POSTGRES_DB_FILE environment variable." exit 1 diff --git a/debian.Dockerfile b/debian.Dockerfile index 1b275a3..57fd0a5 100644 --- a/debian.Dockerfile +++ b/debian.Dockerfile @@ -24,27 +24,7 @@ RUN set -x \ && gzip -vnd /usr/local/bin/go-cron.gz && chmod a+x /usr/local/bin/go-cron \ && apt-get purge -y --auto-remove ca-certificates && apt-get clean -ENV POSTGRES_DB="**None**" \ - POSTGRES_DB_FILE="**None**" \ - POSTGRES_HOST="**None**" \ - POSTGRES_PORT=5432 \ - POSTGRES_USER="**None**" \ - POSTGRES_USER_FILE="**None**" \ - POSTGRES_PASSWORD="**None**" \ - POSTGRES_PASSWORD_FILE="**None**" \ - POSTGRES_PASSFILE_STORE="**None**" \ - POSTGRES_EXTRA_OPTS="-Z6" \ - POSTGRES_CLUSTER="FALSE" \ - SCHEDULE="@daily" \ - BACKUP_DIR="/backups" \ - BACKUP_SUFFIX=".sql.gz" \ - BACKUP_KEEP_DAYS=7 \ - BACKUP_KEEP_WEEKS=4 \ - BACKUP_KEEP_MONTHS=6 \ - BACKUP_KEEP_MINS=1440 \ - HEALTHCHECK_PORT=8080 \ - WEBHOOK_URL="**None**" \ - WEBHOOK_EXTRA_ARGS="" +ENV SCHEDULE="@daily" HEALTHCHECK_PORT=8080 COPY backup.sh /backup.sh