diff options
Diffstat (limited to 'Services/postgres')
-rw-r--r-- | Services/postgres/Dockerfile | 2 | ||||
-rw-r--r-- | Services/postgres/README.md | 41 | ||||
-rw-r--r-- | Services/postgres/postgres_modify_pass.sh | 24 | ||||
-rw-r--r-- | Services/postgres/postgres_run.sh | 14 |
4 files changed, 70 insertions, 11 deletions
diff --git a/Services/postgres/Dockerfile b/Services/postgres/Dockerfile index 7997d9d..e863a45 100644 --- a/Services/postgres/Dockerfile +++ b/Services/postgres/Dockerfile @@ -1,5 +1,5 @@ FROM startx/fedora -MAINTAINER Chistophe LARUE <dev@startx.fr> +MAINTAINER Christophe LARUE <dev@startx.fr> COPY postgres_run.sh postgres_modify_pass.sh /bin/ RUN yum -y install \ diff --git a/Services/postgres/README.md b/Services/postgres/README.md index 73f4037..40881af 100644 --- a/Services/postgres/README.md +++ b/Services/postgres/README.md @@ -1,14 +1,35 @@ -STARTX docker-images - Postgres -=============================== +# STARTX Services docker-images : PostgreSQL Server +This container run postgres on fedora server. -**Description** -Based on the docker [default postgres](https://registry.hub.docker.com/u/library/postgres/) Dockerfile +## Running from docker registry -**Usage** - - docker run -d -p 5432:5432 startx/sv-postgres - docker run -d -p 5432:5432 --name="test-postgres" startx/sv-postgres + # docker run -d -p 5432:5432 --name="postgres" startx/sv-postgres + # when linked to another container + # docker run -d --name="postgres" startx/sv-postgres + # docker run -d --name="php" --link postgres:postgres startx/sv-php - docker run -d --name="test-postgres" startx/sv-postgres // linked to another container - docker run -d --name="test-www" --link test-postgres:postgres startx/sv-php +## Build and run from local Dockerfile +### Building docker image +Copy the sources to your docker host + mkdir startx-docker-images; + cd startx-docker-images; + git clone https://github.com/startxfr/docker-images.git . + +and build the container + + docker build -t sv-postgres Services/postgres/ + +### Running local image + + # docker run -d -p 5432:5432 --name="postgres" sv-postgres + +## Accessing server + + # psql -U postgres -h localhost -p 5432 + +## Related Resources +* [Sources files](https://github.com/startxfr/docker-images/tree/master/Services/postgres) +* [Github STARTX profile](https://github.com/startxfr/docker-images) +* [Docker registry for this container](https://registry.hub.docker.com/u/startx/sv-postgres/) +* [Docker registry for Fedora](https://registry.hub.docker.com/u/fedora/) diff --git a/Services/postgres/postgres_modify_pass.sh b/Services/postgres/postgres_modify_pass.sh new file mode 100644 index 0000000..d76e189 --- /dev/null +++ b/Services/postgres/postgres_modify_pass.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +if [ -f /.postgres_pass_modified ]; then + echo "PostgreSQL 'postgres' user pass already modified!" + exit 0 +fi + +#generate pasword +PASS=${POSTGRES_PASS:-$(pwgen -s 12 1)} +_word=$( [ ${POSTGRES_PASS} ] && echo "preset" || echo "random" ) + +echo "=> Modifying 'postgres' user with a ${_word} password in PostgreSQL" +sudo -u postgres psql -U postgres -d postgres -c "alter user postgres with password '$PASS';" +echo "=> Done!" +touch /.postgres_pass_modified + +echo "========================================================================" +echo "You can now connect to this PostgreSQL Server using:" +echo "" +echo " psql -h <host> -p <port> --username=postgres" +echo "and enter the password '$PASS' when prompted" +echo "" +echo "Please remember to change the above password as soon as possible!" +echo "========================================================================"
\ No newline at end of file diff --git a/Services/postgres/postgres_run.sh b/Services/postgres/postgres_run.sh new file mode 100644 index 0000000..dfbc232 --- /dev/null +++ b/Services/postgres/postgres_run.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +#change the password +service postgresql start >/dev/null 2>&1 +if [ ! -f /.postgres_pass_modified ]; then + /postgres_modify_pass.sh +fi +service postgresql stop >/dev/null 2>&1 + +#start PostgreSQL +sudo -u postgres /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf + + +exec /usr/libexec/mysqld
\ No newline at end of file |