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' diff --git a/README.md b/README.md index e198375..552fbf5 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,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 @@ -36,11 +37,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 diff --git a/backup.sh b/backup.sh index 0fe31af..afe03fc 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))`