diff --git a/db/docker-entrypoint1.sh b/db/docker-entrypoint1.sh index 7058d65..033a163 100755 --- a/db/docker-entrypoint1.sh +++ b/db/docker-entrypoint1.sh @@ -1,5 +1,17 @@ #!/bin/bash +# if wal backup is not enabled, use minimal wal logging to reduce disk space +: ${WAL_LEVEL:=minimal} +: ${ARCHIVE_MODE:=off} +# PGDATA is defined in upstream postgres dockerfile + +function update_conf () { + if [ -f $PGDATA/postgresql.conf ]; then + sed -i "s/wal_level =.*$/wal_level = $WAL_LEVEL/g" $PGDATA/postgresql.conf + sed -i "s/archive_mode =.*$/archive_mode = $ARCHIVE_MODE/g" $PGDATA/postgresql.conf + fi +} + if [ "${1:0:1}" = '-' ]; then set -- postgres "$@" fi @@ -10,6 +22,7 @@ if [ "$1" = 'postgres' ]; then for v in ${VARS[@]}; do if [ "${!v}" = "" ]; then echo "$v is required for Wal-E but not set. Skipping Wal-E setup." + update_conf . /docker-entrypoint.sh exit fi @@ -23,7 +36,9 @@ if [ "$1" = 'postgres' ]; then done chown -R root:postgres /etc/wal-e.d + WAL_LEVEL=archive + ARCHIVE_MODE=on + + update_conf . /docker-entrypoint.sh fi - -exec "$@"