@@ -27,8 +27,8 @@ service_create() {
2727 chmod 750 " $SERVICE_ROOT /auth"
2828 touch " $LINKS_FILE "
2929 password=$( openssl rand -hex 16)
30- echo " $password " > " $SERVICE_ROOT /auth/PASSWORD "
31- chmod 640 " $SERVICE_ROOT /PASSWORD "
30+ echo " $password " > " $SERVICE_ROOT /auth/postgres "
31+ chmod 640 " $SERVICE_ROOT /auth/postgres "
3232
3333 if [[ -n $POSTGRES_CUSTOM_ENV ]]; then
3434 echo " $POSTGRES_CUSTOM_ENV " | tr ' ;' " \n" > " $SERVICE_ROOT /ENV"
@@ -44,12 +44,14 @@ database_create() {
4444 [[ -z " $SERVICE " ]] && dokku_log_fail " Please specify a name for the service"
4545 [[ -z " $NAME " ]] && dokku_log_fail " Please specify a name for the database"
4646
47+ check_auth_migration " $SERVICE "
48+
4749 local SERVICE_ROOT=" $PLUGIN_DATA_ROOT /$SERVICE "
4850 local SERVICE_NAME=" $( get_service_name " $SERVICE " ) "
4951
5052 dokku_log_verbose_quiet " Creating user"
5153 password=$( openssl rand -hex 16)
52- if docker exec " $SERVICE_NAME " su - postgres -c " psql -c \" CREATE USER $NAME WITH PASSWORD '$password ';\" " 2 > /dev/null; then
54+ if docker exec " $SERVICE_NAME " su - postgres -c " psql -c \" CREATE USER $NAME WITH PASSWORD '$password ';\" " > /dev/null 2>&1 ; then
5355 echo " $password " > " $SERVICE_ROOT /auth/$NAME "
5456 chmod 640 " $SERVICE_ROOT /auth/$NAME "
5557 else
@@ -69,7 +71,7 @@ service_create_container() {
6971 local SERVICE=" $1 "
7072 local SERVICE_ROOT=" $PLUGIN_DATA_ROOT /$SERVICE "
7173 local SERVICE_NAME=" $( get_service_name " $SERVICE " ) "
72- local PASSWORD=" $( cat " $SERVICE_ROOT /PASSWORD " ) "
74+ local PASSWORD=" $( cat " $SERVICE_ROOT /auth/postgres " ) "
7375 local PREVIOUS_ID
7476
7577 ID=$( docker run --name " $SERVICE_NAME " -v " $SERVICE_ROOT /data:/var/lib/postgresql/data" -e " POSTGRES_PASSWORD=$PASSWORD " --env-file=" $SERVICE_ROOT /ENV" -d --restart always --label dokku=service --label dokku.service=postgres " $PLUGIN_IMAGE :$PLUGIN_IMAGE_VERSION " )
@@ -99,7 +101,7 @@ service_export() {
99101 local SERVICE_ROOT=" $PLUGIN_DATA_ROOT /$SERVICE "
100102 local SERVICE_NAME=" $( get_service_name " $SERVICE " ) "
101103 local DATABASE_NAME=" $( get_database_name " $SERVICE " ) "
102- local PASSWORD=" $( cat " $SERVICE_ROOT /PASSWORD " ) "
104+ local PASSWORD=" $( cat " $SERVICE_ROOT /auth/postgres " ) "
103105
104106 [[ -n $SSH_TTY ]] && stty -opost
105107 docker exec " $SERVICE_NAME " env PGPASSWORD=" $PASSWORD " pg_dump -Fc --no-acl --no-owner -h localhost -U postgres -w " $DATABASE_NAME "
@@ -113,7 +115,7 @@ service_import() {
113115 SERVICE_ROOT=" $PLUGIN_DATA_ROOT /$SERVICE "
114116 SERVICE_NAME=" $( get_service_name " $SERVICE " ) "
115117 DATABASE_NAME=" $( get_database_name " $SERVICE " ) "
116- PASSWORD=" $( cat " $SERVICE_ROOT /PASSWORD " ) "
118+ PASSWORD=" $( cat " $SERVICE_ROOT /auth/postgres " ) "
117119
118120 if [[ -t 0 ]]; then
119121 dokku_log_fail " No data provided on stdin."
@@ -135,7 +137,7 @@ service_start() {
135137 dokku_log_info1_quiet " Starting container"
136138 local PREVIOUS_ID=$( docker ps -f status=exited | grep -e " $SERVICE_NAME $" | awk ' {print $1}' ) || true
137139 local IMAGE_EXISTS=$( docker images | grep -e " ^$PLUGIN_IMAGE " | grep -q " $PLUGIN_IMAGE_VERSION " && true)
138- local PASSWORD=" $( cat " $SERVICE_ROOT /PASSWORD " ) "
140+ local PASSWORD=" $( cat " $SERVICE_ROOT /auth/postgres " ) "
139141
140142 if [[ -n $PREVIOUS_ID ]]; then
141143 docker start " $PREVIOUS_ID " > /dev/null
@@ -152,8 +154,9 @@ service_url() {
152154 local SERVICE=" $1 "
153155 local SERVICE_ROOT=" $PLUGIN_DATA_ROOT /$SERVICE "
154156
155- local PASSWORD=" $( cat " $SERVICE_ROOT /PASSWORD" ) "
156- local DATABASE_NAME=" $( get_database_name " $SERVICE " ) "
157+ local USER=" $2 " # postgres
158+ local PASSWORD=" $3 "
159+ local DATABASE_NAME=" $4 "
157160 local SERVICE_ALIAS=" $( service_alias " $SERVICE " ) "
158- echo " $PLUGIN_SCHEME ://postgres :$PASSWORD @$SERVICE_ALIAS :${PLUGIN_DATASTORE_PORTS[0]} /$DATABASE_NAME "
161+ echo " $PLUGIN_SCHEME ://$USER :$PASSWORD @$SERVICE_ALIAS :${PLUGIN_DATASTORE_PORTS[0]} /$DATABASE_NAME "
159162}
0 commit comments