You've already forked postgres
mirror of
https://github.com/docker-library/postgres.git
synced 2025-07-28 10:42:06 +03:00
Add POSTGRES_PASSWORD and USER, with warning on no password
This commit is contained in:
@ -9,7 +9,39 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
||||||
|
|
||||||
{ echo; echo 'host all all 0.0.0.0/0 trust'; } >> "$PGDATA"/pg_hba.conf
|
# check password first so we can ouptut the warning before postgres
|
||||||
|
# messes it up
|
||||||
|
if [ "$POSTGRES_PASSWORD" ]; then
|
||||||
|
pass="PASSWORD '$POSTGRES_PASSWORD'"
|
||||||
|
authMethod=md5
|
||||||
|
else
|
||||||
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
|
cat >&2 <<-'EOWARN'
|
||||||
|
****************************************************
|
||||||
|
WARNING: No password has been set for the database.
|
||||||
|
Use "-e POSTGRES_PASSWORD=password" to set
|
||||||
|
it in "docker run".
|
||||||
|
****************************************************
|
||||||
|
EOWARN
|
||||||
|
|
||||||
|
pass=
|
||||||
|
authMethod=trust
|
||||||
|
fi
|
||||||
|
|
||||||
|
: ${POSTGRES_USER:=postgres}
|
||||||
|
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
||||||
|
op='ALTER'
|
||||||
|
else
|
||||||
|
op='CREATE'
|
||||||
|
gosu postgres postgres --single -E <<-EOSQL
|
||||||
|
CREATE DATABASE "$POSTGRES_USER"
|
||||||
|
EOSQL
|
||||||
|
fi
|
||||||
|
|
||||||
|
gosu postgres postgres --single <<-EOSQL
|
||||||
|
$op USER "$POSTGRES_USER" WITH SUPERUSER $pass
|
||||||
|
EOSQL
|
||||||
|
{ echo; echo "host all \"$POSTGRES_USER\" 0.0.0.0/0 $authMethod"; } >> "$PGDATA"/pg_hba.conf
|
||||||
|
|
||||||
if [ -d /docker-entrypoint-initdb.d ]; then
|
if [ -d /docker-entrypoint-initdb.d ]; then
|
||||||
for f in /docker-entrypoint-initdb.d/*.sh; do
|
for f in /docker-entrypoint-initdb.d/*.sh; do
|
||||||
|
@ -9,7 +9,39 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
||||||
|
|
||||||
{ echo; echo 'host all all 0.0.0.0/0 trust'; } >> "$PGDATA"/pg_hba.conf
|
# check password first so we can ouptut the warning before postgres
|
||||||
|
# messes it up
|
||||||
|
if [ "$POSTGRES_PASSWORD" ]; then
|
||||||
|
pass="PASSWORD '$POSTGRES_PASSWORD'"
|
||||||
|
authMethod=md5
|
||||||
|
else
|
||||||
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
|
cat >&2 <<-'EOWARN'
|
||||||
|
****************************************************
|
||||||
|
WARNING: No password has been set for the database.
|
||||||
|
Use "-e POSTGRES_PASSWORD=password" to set
|
||||||
|
it in "docker run".
|
||||||
|
****************************************************
|
||||||
|
EOWARN
|
||||||
|
|
||||||
|
pass=
|
||||||
|
authMethod=trust
|
||||||
|
fi
|
||||||
|
|
||||||
|
: ${POSTGRES_USER:=postgres}
|
||||||
|
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
||||||
|
op='ALTER'
|
||||||
|
else
|
||||||
|
op='CREATE'
|
||||||
|
gosu postgres postgres --single -E <<-EOSQL
|
||||||
|
CREATE DATABASE "$POSTGRES_USER"
|
||||||
|
EOSQL
|
||||||
|
fi
|
||||||
|
|
||||||
|
gosu postgres postgres --single <<-EOSQL
|
||||||
|
$op USER "$POSTGRES_USER" WITH SUPERUSER $pass
|
||||||
|
EOSQL
|
||||||
|
{ echo; echo "host all \"$POSTGRES_USER\" 0.0.0.0/0 $authMethod"; } >> "$PGDATA"/pg_hba.conf
|
||||||
|
|
||||||
if [ -d /docker-entrypoint-initdb.d ]; then
|
if [ -d /docker-entrypoint-initdb.d ]; then
|
||||||
for f in /docker-entrypoint-initdb.d/*.sh; do
|
for f in /docker-entrypoint-initdb.d/*.sh; do
|
||||||
|
@ -9,7 +9,39 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
||||||
|
|
||||||
{ echo; echo 'host all all 0.0.0.0/0 trust'; } >> "$PGDATA"/pg_hba.conf
|
# check password first so we can ouptut the warning before postgres
|
||||||
|
# messes it up
|
||||||
|
if [ "$POSTGRES_PASSWORD" ]; then
|
||||||
|
pass="PASSWORD '$POSTGRES_PASSWORD'"
|
||||||
|
authMethod=md5
|
||||||
|
else
|
||||||
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
|
cat >&2 <<-'EOWARN'
|
||||||
|
****************************************************
|
||||||
|
WARNING: No password has been set for the database.
|
||||||
|
Use "-e POSTGRES_PASSWORD=password" to set
|
||||||
|
it in "docker run".
|
||||||
|
****************************************************
|
||||||
|
EOWARN
|
||||||
|
|
||||||
|
pass=
|
||||||
|
authMethod=trust
|
||||||
|
fi
|
||||||
|
|
||||||
|
: ${POSTGRES_USER:=postgres}
|
||||||
|
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
||||||
|
op='ALTER'
|
||||||
|
else
|
||||||
|
op='CREATE'
|
||||||
|
gosu postgres postgres --single -E <<-EOSQL
|
||||||
|
CREATE DATABASE "$POSTGRES_USER"
|
||||||
|
EOSQL
|
||||||
|
fi
|
||||||
|
|
||||||
|
gosu postgres postgres --single <<-EOSQL
|
||||||
|
$op USER "$POSTGRES_USER" WITH SUPERUSER $pass
|
||||||
|
EOSQL
|
||||||
|
{ echo; echo "host all \"$POSTGRES_USER\" 0.0.0.0/0 $authMethod"; } >> "$PGDATA"/pg_hba.conf
|
||||||
|
|
||||||
if [ -d /docker-entrypoint-initdb.d ]; then
|
if [ -d /docker-entrypoint-initdb.d ]; then
|
||||||
for f in /docker-entrypoint-initdb.d/*.sh; do
|
for f in /docker-entrypoint-initdb.d/*.sh; do
|
||||||
|
@ -9,7 +9,39 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
||||||
|
|
||||||
{ echo; echo 'host all all 0.0.0.0/0 trust'; } >> "$PGDATA"/pg_hba.conf
|
# check password first so we can ouptut the warning before postgres
|
||||||
|
# messes it up
|
||||||
|
if [ "$POSTGRES_PASSWORD" ]; then
|
||||||
|
pass="PASSWORD '$POSTGRES_PASSWORD'"
|
||||||
|
authMethod=md5
|
||||||
|
else
|
||||||
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
|
cat >&2 <<-'EOWARN'
|
||||||
|
****************************************************
|
||||||
|
WARNING: No password has been set for the database.
|
||||||
|
Use "-e POSTGRES_PASSWORD=password" to set
|
||||||
|
it in "docker run".
|
||||||
|
****************************************************
|
||||||
|
EOWARN
|
||||||
|
|
||||||
|
pass=
|
||||||
|
authMethod=trust
|
||||||
|
fi
|
||||||
|
|
||||||
|
: ${POSTGRES_USER:=postgres}
|
||||||
|
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
||||||
|
op='ALTER'
|
||||||
|
else
|
||||||
|
op='CREATE'
|
||||||
|
gosu postgres postgres --single -E <<-EOSQL
|
||||||
|
CREATE DATABASE "$POSTGRES_USER"
|
||||||
|
EOSQL
|
||||||
|
fi
|
||||||
|
|
||||||
|
gosu postgres postgres --single <<-EOSQL
|
||||||
|
$op USER "$POSTGRES_USER" WITH SUPERUSER $pass
|
||||||
|
EOSQL
|
||||||
|
{ echo; echo "host all \"$POSTGRES_USER\" 0.0.0.0/0 $authMethod"; } >> "$PGDATA"/pg_hba.conf
|
||||||
|
|
||||||
if [ -d /docker-entrypoint-initdb.d ]; then
|
if [ -d /docker-entrypoint-initdb.d ]; then
|
||||||
for f in /docker-entrypoint-initdb.d/*.sh; do
|
for f in /docker-entrypoint-initdb.d/*.sh; do
|
||||||
|
@ -9,7 +9,39 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
||||||
|
|
||||||
{ echo; echo 'host all all 0.0.0.0/0 trust'; } >> "$PGDATA"/pg_hba.conf
|
# check password first so we can ouptut the warning before postgres
|
||||||
|
# messes it up
|
||||||
|
if [ "$POSTGRES_PASSWORD" ]; then
|
||||||
|
pass="PASSWORD '$POSTGRES_PASSWORD'"
|
||||||
|
authMethod=md5
|
||||||
|
else
|
||||||
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
|
cat >&2 <<-'EOWARN'
|
||||||
|
****************************************************
|
||||||
|
WARNING: No password has been set for the database.
|
||||||
|
Use "-e POSTGRES_PASSWORD=password" to set
|
||||||
|
it in "docker run".
|
||||||
|
****************************************************
|
||||||
|
EOWARN
|
||||||
|
|
||||||
|
pass=
|
||||||
|
authMethod=trust
|
||||||
|
fi
|
||||||
|
|
||||||
|
: ${POSTGRES_USER:=postgres}
|
||||||
|
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
||||||
|
op='ALTER'
|
||||||
|
else
|
||||||
|
op='CREATE'
|
||||||
|
gosu postgres postgres --single -E <<-EOSQL
|
||||||
|
CREATE DATABASE "$POSTGRES_USER"
|
||||||
|
EOSQL
|
||||||
|
fi
|
||||||
|
|
||||||
|
gosu postgres postgres --single <<-EOSQL
|
||||||
|
$op USER "$POSTGRES_USER" WITH SUPERUSER $pass
|
||||||
|
EOSQL
|
||||||
|
{ echo; echo "host all \"$POSTGRES_USER\" 0.0.0.0/0 $authMethod"; } >> "$PGDATA"/pg_hba.conf
|
||||||
|
|
||||||
if [ -d /docker-entrypoint-initdb.d ]; then
|
if [ -d /docker-entrypoint-initdb.d ]; then
|
||||||
for f in /docker-entrypoint-initdb.d/*.sh; do
|
for f in /docker-entrypoint-initdb.d/*.sh; do
|
||||||
|
@ -9,7 +9,39 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
||||||
|
|
||||||
{ echo; echo 'host all all 0.0.0.0/0 trust'; } >> "$PGDATA"/pg_hba.conf
|
# check password first so we can ouptut the warning before postgres
|
||||||
|
# messes it up
|
||||||
|
if [ "$POSTGRES_PASSWORD" ]; then
|
||||||
|
pass="PASSWORD '$POSTGRES_PASSWORD'"
|
||||||
|
authMethod=md5
|
||||||
|
else
|
||||||
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
|
cat >&2 <<-'EOWARN'
|
||||||
|
****************************************************
|
||||||
|
WARNING: No password has been set for the database.
|
||||||
|
Use "-e POSTGRES_PASSWORD=password" to set
|
||||||
|
it in "docker run".
|
||||||
|
****************************************************
|
||||||
|
EOWARN
|
||||||
|
|
||||||
|
pass=
|
||||||
|
authMethod=trust
|
||||||
|
fi
|
||||||
|
|
||||||
|
: ${POSTGRES_USER:=postgres}
|
||||||
|
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
||||||
|
op='ALTER'
|
||||||
|
else
|
||||||
|
op='CREATE'
|
||||||
|
gosu postgres postgres --single -E <<-EOSQL
|
||||||
|
CREATE DATABASE "$POSTGRES_USER"
|
||||||
|
EOSQL
|
||||||
|
fi
|
||||||
|
|
||||||
|
gosu postgres postgres --single <<-EOSQL
|
||||||
|
$op USER "$POSTGRES_USER" WITH SUPERUSER $pass
|
||||||
|
EOSQL
|
||||||
|
{ echo; echo "host all \"$POSTGRES_USER\" 0.0.0.0/0 $authMethod"; } >> "$PGDATA"/pg_hba.conf
|
||||||
|
|
||||||
if [ -d /docker-entrypoint-initdb.d ]; then
|
if [ -d /docker-entrypoint-initdb.d ]; then
|
||||||
for f in /docker-entrypoint-initdb.d/*.sh; do
|
for f in /docker-entrypoint-initdb.d/*.sh; do
|
||||||
|
@ -9,7 +9,39 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
sed -ri "s/^#(listen_addresses\s*=\s*)\S+/\1'*'/" "$PGDATA"/postgresql.conf
|
||||||
|
|
||||||
{ echo; echo 'host all all 0.0.0.0/0 trust'; } >> "$PGDATA"/pg_hba.conf
|
# check password first so we can ouptut the warning before postgres
|
||||||
|
# messes it up
|
||||||
|
if [ "$POSTGRES_PASSWORD" ]; then
|
||||||
|
pass="PASSWORD '$POSTGRES_PASSWORD'"
|
||||||
|
authMethod=md5
|
||||||
|
else
|
||||||
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
|
cat >&2 <<-'EOWARN'
|
||||||
|
****************************************************
|
||||||
|
WARNING: No password has been set for the database.
|
||||||
|
Use "-e POSTGRES_PASSWORD=password" to set
|
||||||
|
it in "docker run".
|
||||||
|
****************************************************
|
||||||
|
EOWARN
|
||||||
|
|
||||||
|
pass=
|
||||||
|
authMethod=trust
|
||||||
|
fi
|
||||||
|
|
||||||
|
: ${POSTGRES_USER:=postgres}
|
||||||
|
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
||||||
|
op='ALTER'
|
||||||
|
else
|
||||||
|
op='CREATE'
|
||||||
|
gosu postgres postgres --single -E <<-EOSQL
|
||||||
|
CREATE DATABASE "$POSTGRES_USER"
|
||||||
|
EOSQL
|
||||||
|
fi
|
||||||
|
|
||||||
|
gosu postgres postgres --single <<-EOSQL
|
||||||
|
$op USER "$POSTGRES_USER" WITH SUPERUSER $pass
|
||||||
|
EOSQL
|
||||||
|
{ echo; echo "host all \"$POSTGRES_USER\" 0.0.0.0/0 $authMethod"; } >> "$PGDATA"/pg_hba.conf
|
||||||
|
|
||||||
if [ -d /docker-entrypoint-initdb.d ]; then
|
if [ -d /docker-entrypoint-initdb.d ]; then
|
||||||
for f in /docker-entrypoint-initdb.d/*.sh; do
|
for f in /docker-entrypoint-initdb.d/*.sh; do
|
||||||
|
Reference in New Issue
Block a user