diff --git a/9.1/Dockerfile b/9.1/Dockerfile index 1ff61bd5b8..3e4b48c90f 100644 --- a/9.1/Dockerfile +++ b/9.1/Dockerfile @@ -36,6 +36,11 @@ RUN apt-get update \ postgresql-contrib-$PG_MAJOR=$PG_VERSION \ && rm -rf /var/lib/apt/lists/* +# make the sample config easier to munge (and "correct by default") +RUN mv -v /usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample /usr/share/postgresql/ \ + && ln -sv ../postgresql.conf.sample /usr/share/postgresql/$PG_MAJOR/ \ + && sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample + RUN mkdir -p /var/run/postgresql && chown -R postgres /var/run/postgresql ENV PATH /usr/lib/postgresql/$PG_MAJOR/bin:$PATH diff --git a/9.1/docker-entrypoint.sh b/9.1/docker-entrypoint.sh index 95ec772380..861790a092 100755 --- a/9.1/docker-entrypoint.sh +++ b/9.1/docker-entrypoint.sh @@ -1,10 +1,9 @@ #!/bin/bash set -e -set_listen_addresses() { - sedEscapedValue="$(echo "$1" | sed 's/[\/&]/\\&/g')" - sed -ri "s/^#?(listen_addresses\s*=\s*)\S+/\1'$sedEscapedValue'/" "$PGDATA/postgresql.conf" -} +if [ "${1:0:1}" = '-' ]; then + set -- postgres "$@" +fi if [ "$1" = 'postgres' ]; then mkdir -p "$PGDATA" @@ -88,7 +87,6 @@ if [ "$1" = 'postgres' ]; then done gosu postgres pg_ctl -D "$PGDATA" -m fast -w stop - set_listen_addresses '*' echo echo 'PostgreSQL init process complete; ready for start up.' diff --git a/9.2/Dockerfile b/9.2/Dockerfile index 56d3e77817..1ce4cd7cd6 100644 --- a/9.2/Dockerfile +++ b/9.2/Dockerfile @@ -36,6 +36,11 @@ RUN apt-get update \ postgresql-contrib-$PG_MAJOR=$PG_VERSION \ && rm -rf /var/lib/apt/lists/* +# make the sample config easier to munge (and "correct by default") +RUN mv -v /usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample /usr/share/postgresql/ \ + && ln -sv ../postgresql.conf.sample /usr/share/postgresql/$PG_MAJOR/ \ + && sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample + RUN mkdir -p /var/run/postgresql && chown -R postgres /var/run/postgresql ENV PATH /usr/lib/postgresql/$PG_MAJOR/bin:$PATH diff --git a/9.2/docker-entrypoint.sh b/9.2/docker-entrypoint.sh index 95ec772380..861790a092 100755 --- a/9.2/docker-entrypoint.sh +++ b/9.2/docker-entrypoint.sh @@ -1,10 +1,9 @@ #!/bin/bash set -e -set_listen_addresses() { - sedEscapedValue="$(echo "$1" | sed 's/[\/&]/\\&/g')" - sed -ri "s/^#?(listen_addresses\s*=\s*)\S+/\1'$sedEscapedValue'/" "$PGDATA/postgresql.conf" -} +if [ "${1:0:1}" = '-' ]; then + set -- postgres "$@" +fi if [ "$1" = 'postgres' ]; then mkdir -p "$PGDATA" @@ -88,7 +87,6 @@ if [ "$1" = 'postgres' ]; then done gosu postgres pg_ctl -D "$PGDATA" -m fast -w stop - set_listen_addresses '*' echo echo 'PostgreSQL init process complete; ready for start up.' diff --git a/9.3/Dockerfile b/9.3/Dockerfile index 6bbd0fbfee..e7c9d86bc0 100644 --- a/9.3/Dockerfile +++ b/9.3/Dockerfile @@ -36,6 +36,11 @@ RUN apt-get update \ postgresql-contrib-$PG_MAJOR=$PG_VERSION \ && rm -rf /var/lib/apt/lists/* +# make the sample config easier to munge (and "correct by default") +RUN mv -v /usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample /usr/share/postgresql/ \ + && ln -sv ../postgresql.conf.sample /usr/share/postgresql/$PG_MAJOR/ \ + && sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample + RUN mkdir -p /var/run/postgresql && chown -R postgres /var/run/postgresql ENV PATH /usr/lib/postgresql/$PG_MAJOR/bin:$PATH diff --git a/9.3/docker-entrypoint.sh b/9.3/docker-entrypoint.sh index 95ec772380..861790a092 100755 --- a/9.3/docker-entrypoint.sh +++ b/9.3/docker-entrypoint.sh @@ -1,10 +1,9 @@ #!/bin/bash set -e -set_listen_addresses() { - sedEscapedValue="$(echo "$1" | sed 's/[\/&]/\\&/g')" - sed -ri "s/^#?(listen_addresses\s*=\s*)\S+/\1'$sedEscapedValue'/" "$PGDATA/postgresql.conf" -} +if [ "${1:0:1}" = '-' ]; then + set -- postgres "$@" +fi if [ "$1" = 'postgres' ]; then mkdir -p "$PGDATA" @@ -88,7 +87,6 @@ if [ "$1" = 'postgres' ]; then done gosu postgres pg_ctl -D "$PGDATA" -m fast -w stop - set_listen_addresses '*' echo echo 'PostgreSQL init process complete; ready for start up.' diff --git a/9.4/Dockerfile b/9.4/Dockerfile index ae6372fbe2..f94f5bf98d 100644 --- a/9.4/Dockerfile +++ b/9.4/Dockerfile @@ -36,6 +36,11 @@ RUN apt-get update \ postgresql-contrib-$PG_MAJOR=$PG_VERSION \ && rm -rf /var/lib/apt/lists/* +# make the sample config easier to munge (and "correct by default") +RUN mv -v /usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample /usr/share/postgresql/ \ + && ln -sv ../postgresql.conf.sample /usr/share/postgresql/$PG_MAJOR/ \ + && sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample + RUN mkdir -p /var/run/postgresql && chown -R postgres /var/run/postgresql ENV PATH /usr/lib/postgresql/$PG_MAJOR/bin:$PATH diff --git a/9.4/docker-entrypoint.sh b/9.4/docker-entrypoint.sh index 95ec772380..861790a092 100755 --- a/9.4/docker-entrypoint.sh +++ b/9.4/docker-entrypoint.sh @@ -1,10 +1,9 @@ #!/bin/bash set -e -set_listen_addresses() { - sedEscapedValue="$(echo "$1" | sed 's/[\/&]/\\&/g')" - sed -ri "s/^#?(listen_addresses\s*=\s*)\S+/\1'$sedEscapedValue'/" "$PGDATA/postgresql.conf" -} +if [ "${1:0:1}" = '-' ]; then + set -- postgres "$@" +fi if [ "$1" = 'postgres' ]; then mkdir -p "$PGDATA" @@ -88,7 +87,6 @@ if [ "$1" = 'postgres' ]; then done gosu postgres pg_ctl -D "$PGDATA" -m fast -w stop - set_listen_addresses '*' echo echo 'PostgreSQL init process complete; ready for start up.' diff --git a/9.5/Dockerfile b/9.5/Dockerfile index 86b636d60f..18fca63e58 100644 --- a/9.5/Dockerfile +++ b/9.5/Dockerfile @@ -36,6 +36,11 @@ RUN apt-get update \ postgresql-contrib-$PG_MAJOR=$PG_VERSION \ && rm -rf /var/lib/apt/lists/* +# make the sample config easier to munge (and "correct by default") +RUN mv -v /usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample /usr/share/postgresql/ \ + && ln -sv ../postgresql.conf.sample /usr/share/postgresql/$PG_MAJOR/ \ + && sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample + RUN mkdir -p /var/run/postgresql && chown -R postgres /var/run/postgresql ENV PATH /usr/lib/postgresql/$PG_MAJOR/bin:$PATH diff --git a/9.5/docker-entrypoint.sh b/9.5/docker-entrypoint.sh index 95ec772380..861790a092 100755 --- a/9.5/docker-entrypoint.sh +++ b/9.5/docker-entrypoint.sh @@ -1,10 +1,9 @@ #!/bin/bash set -e -set_listen_addresses() { - sedEscapedValue="$(echo "$1" | sed 's/[\/&]/\\&/g')" - sed -ri "s/^#?(listen_addresses\s*=\s*)\S+/\1'$sedEscapedValue'/" "$PGDATA/postgresql.conf" -} +if [ "${1:0:1}" = '-' ]; then + set -- postgres "$@" +fi if [ "$1" = 'postgres' ]; then mkdir -p "$PGDATA" @@ -88,7 +87,6 @@ if [ "$1" = 'postgres' ]; then done gosu postgres pg_ctl -D "$PGDATA" -m fast -w stop - set_listen_addresses '*' echo echo 'PostgreSQL init process complete; ready for start up.' diff --git a/Dockerfile.template b/Dockerfile.template index 1a81e38879..8e6b6723bb 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -36,6 +36,11 @@ RUN apt-get update \ postgresql-contrib-$PG_MAJOR=$PG_VERSION \ && rm -rf /var/lib/apt/lists/* +# make the sample config easier to munge (and "correct by default") +RUN mv -v /usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample /usr/share/postgresql/ \ + && ln -sv ../postgresql.conf.sample /usr/share/postgresql/$PG_MAJOR/ \ + && sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample + RUN mkdir -p /var/run/postgresql && chown -R postgres /var/run/postgresql ENV PATH /usr/lib/postgresql/$PG_MAJOR/bin:$PATH diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 95ec772380..861790a092 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,10 +1,9 @@ #!/bin/bash set -e -set_listen_addresses() { - sedEscapedValue="$(echo "$1" | sed 's/[\/&]/\\&/g')" - sed -ri "s/^#?(listen_addresses\s*=\s*)\S+/\1'$sedEscapedValue'/" "$PGDATA/postgresql.conf" -} +if [ "${1:0:1}" = '-' ]; then + set -- postgres "$@" +fi if [ "$1" = 'postgres' ]; then mkdir -p "$PGDATA" @@ -88,7 +87,6 @@ if [ "$1" = 'postgres' ]; then done gosu postgres pg_ctl -D "$PGDATA" -m fast -w stop - set_listen_addresses '*' echo echo 'PostgreSQL init process complete; ready for start up.'