From 91a6338ed0214e323d092670799ff94f402a3811 Mon Sep 17 00:00:00 2001 From: capnis <40711191+capnis@users.noreply.github.com> Date: Sat, 30 Jun 2018 10:59:06 +0300 Subject: [PATCH 1/4] Add support for docker secrets Added extra ENV variable "POSTGRES_PASSWORD_FILE" --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 7513ecc..4e1a867 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,6 +11,7 @@ ENV POSTGRES_HOST **None** ENV POSTGRES_PORT 5432 ENV POSTGRES_USER **None** ENV POSTGRES_PASSWORD **None** +ENV POSTGRES_PASSWORD_FILE **None** ENV POSTGRES_EXTRA_OPTS '-Z9' ENV SCHEDULE '@daily' ENV BACKUP_DIR '/backups' From fd83ad1ed3ce01b6c0a088afc0317677f2e9b6de Mon Sep 17 00:00:00 2001 From: capnis <40711191+capnis@users.noreply.github.com> Date: Sat, 30 Jun 2018 11:15:58 +0300 Subject: [PATCH 2/4] Add support for docker secrets Check if password file ENV variable POSTGRES_PASSWORD_FILE is set (for use with docker secrets, point this to /run/secrets/). If it is not set, fallback to POSTGRES_PASSWORD ENV variable. --- backup.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backup.sh b/backup.sh index 3d5d96f..9e974b3 100755 --- a/backup.sh +++ b/backup.sh @@ -28,7 +28,11 @@ if [ "${POSTGRES_PASSWORD}" = "**None**" ]; then fi #Proces vars -export PGPASSWORD=$POSTGRES_PASSWORD +if [ "${POSTGRES_PASSWORD_FILE}" = "**None**" ]; then + export PGPASSWORD=$POSTGRES_PASSWORD +else + export PGPASSWORD=$(cat ${POSTGRES_PASSWORD_FILE}) +fi POSTGRES_HOST_OPTS="-h $POSTGRES_HOST -p $POSTGRES_PORT -U $POSTGRES_USER $POSTGRES_EXTRA_OPTS" KEEP_DAYS=$BACKUP_KEEP_DAYS KEEP_WEEKS=`expr $((($BACKUP_KEEP_WEEKS * 7) + 1))` From 342cc5cf707e44a424113195f8c5bfbcf54397cd Mon Sep 17 00:00:00 2001 From: capnis <40711191+capnis@users.noreply.github.com> Date: Sat, 30 Jun 2018 11:26:27 +0300 Subject: [PATCH 3/4] Update readme Added new ENV variables examples: POSTGRES_PASSWORD_FILE HEALTHCHECK_PORT --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 34f763d..e15f98b 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,14 @@ services: - POSTGRES_DB=database - POSTGRES_USER=username - POSTGRES_PASSWORD=password + # - POSTGRES_PASSWORD_FILE=/run/secrets/db_password <-- alternative for POSTGRES_PASSWORD (to use with docker secrets) - POSTGRES_EXTRA_OPTS=-Z9 --schema=public --blobs - SCHEDULE=@daily - BACKUP_KEEP_DAYS=7 - BACKUP_KEEP_WEEKS=4 - BACKUP_KEEP_MONTHS=6 + - HEALTHCHECK_PORT=80 + ``` ### Manual Backups From 9aec9ca274ffb84443833b0070e9ac79cc7d6ca6 Mon Sep 17 00:00:00 2001 From: capnis <40711191+capnis@users.noreply.github.com> Date: Sat, 30 Jun 2018 11:28:14 +0300 Subject: [PATCH 4/4] Readme update Added POSTGRES_PASSWORD_FILE under postgres service. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e15f98b..1492110 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ services: - POSTGRES_DB=database - POSTGRES_USER=username - POSTGRES_PASSWORD=password + # - POSTGRES_PASSWORD_FILE=/run/secrets/db_password <-- alternative for POSTGRES_PASSWORD (to use with docker secrets) pgbackups: image: prodrigestivill/postgres-backup-local restart: always