diff options
Diffstat (limited to 'postgresql')
-rw-r--r-- | postgresql/Dockerfile | 17 | ||||
-rwxr-xr-x | postgresql/docker-entrypoint.sh | 23 |
2 files changed, 40 insertions, 0 deletions
diff --git a/postgresql/Dockerfile b/postgresql/Dockerfile new file mode 100644 index 0000000..50d8eca --- /dev/null +++ b/postgresql/Dockerfile @@ -0,0 +1,17 @@ +FROM alpine:3.8 + +ENV PGDATA /var/lib/postgresql/data +ENV LANG en_US.utf8 + +RUN apk add --no-cache postgresql postgresql-contrib su-exec \ + && install -d -o postgres -g postgres -m 700 "$PGDATA" \ + && install -d -o postgres -g postgres -m 700 /run/postgresql + +VOLUME /var/lib/postgresql/data + +COPY docker-entrypoint.sh /usr/local/bin/ +ENTRYPOINT ["docker-entrypoint.sh"] + +EXPOSE 5432 +CMD ["postgres"] + diff --git a/postgresql/docker-entrypoint.sh b/postgresql/docker-entrypoint.sh new file mode 100755 index 0000000..c438de9 --- /dev/null +++ b/postgresql/docker-entrypoint.sh @@ -0,0 +1,23 @@ +#!/bin/sh -e + +_su(){ + su-exec postgres "$@" +} + +if ! [ -s "$PGDATA"/PG_VERSION ]; then + echo "Initializing database" + _su initdb --username=postgres + + _su pg_ctl -D "$PGDATA" \ + -o "-c listen_addresses=''" \ + -w start + + # create database for gitlab + _su psql -c "CREATE USER git CREATEDB;" + _su psql -c "CREATE EXTENSION IF NOT EXISTS pg_trgm;" + _su psql -c "CREATE DATABASE gitlabhq_production OWNER git;" + + _su pg_ctl -D "$PGDATA" -m fast -w stop +fi + +_su "$@" |