#!/bin/bash # Start a postgres daemon, ignoring log output. gosu postgres pg_ctl start -w -l /dev/null # Create a Jupyterhub user and database. gosu postgres psql -c "CREATE DATABASE jupyterhub;" gosu postgres psql -c "CREATE USER jupyterhub WITH ENCRYPTED PASSWORD '$JPY_PSQL_PASSWORD';" gosu postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE jupyterhub TO jupyterhub;" # Alter pg_hba.conf to actually require passwords. The default image exposes # allows any user to connect without requiring a password, which is a liability # if this is run forwarding ports from the host machine. sed -ri -e 's/(host all all 0.0.0.0\/0 )(trust)/\1md5/' "$PGDATA"/pg_hba.conf # Stop the daemon. The root Dockerfile will restart the server for us. gosu postgres pg_ctl stop -w