From 8bf80f699f3ad937b681ec10b1952d2740997546 Mon Sep 17 00:00:00 2001 From: Sampriti Panda Date: Wed, 23 May 2018 07:37:16 +0530 Subject: [PATCH] docker: Add PGroonga support to Postgresql Dockerfile. Fixes #9466. --- Dockerfile-postgresql | 13 +++++++++---- scripts/setup/postgres-create-db | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Dockerfile-postgresql b/Dockerfile-postgresql index 08792eea79..3bb57e6384 100644 --- a/Dockerfile-postgresql +++ b/Dockerfile-postgresql @@ -5,7 +5,7 @@ # version. Currently the postgres images do not support automatic upgrading of # the on-disk data in volumes. So the base image can not currently be upgraded # without users needing a manual pgdump and restore. -FROM postgres:9.5 +FROM postgres:10 RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ postgresql-server-dev-$PG_MAJOR \ @@ -22,14 +22,19 @@ RUN git clone https://github.com/zulip/tsearch_extras.git \ # Install tsearch_extras, hunspell, zulip stop words, and run zulip database # init. -FROM postgres:9.5 +FROM postgres:10 ENV TSEARCH_EXTRAS_VERSION=0.4 ENV TSEARCH_EXTRAS_DEB=postgresql-${PG_MAJOR}-tsearch-extras_${TSEARCH_EXTRAS_VERSION}_amd64.deb COPY --from=0 /${TSEARCH_EXTRAS_DEB} /tmp COPY puppet/zulip/files/postgresql/zulip_english.stop /usr/share/postgresql/$PG_MAJOR/tsearch_data/zulip_english.stop COPY scripts/setup/postgres-create-db /docker-entrypoint-initdb.d/postgres-create-db.sh -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y hunspell-en-us \ +COPY scripts/setup/pgroonga-debian.asc /tmp +RUN apt-key add /tmp/pgroonga-debian.asc \ + && echo "deb http://packages.groonga.org/debian/ stretch main" > /etc/apt/sources.list.d/zulip.list \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ + hunspell-en-us \ + postgresql-${PG_MAJOR}-pgroonga \ && DEBIAN_FRONTEND=noninteractive dpkg -i /tmp/${TSEARCH_EXTRAS_DEB} \ && rm /tmp/${TSEARCH_EXTRAS_DEB} \ && ln -sf /var/cache/postgresql/dicts/en_us.dict "/usr/share/postgresql/$PG_MAJOR/tsearch_data/en_us.dict" \ diff --git a/scripts/setup/postgres-create-db b/scripts/setup/postgres-create-db index c069c7c1aa..4d0c063b39 100755 --- a/scripts/setup/postgres-create-db +++ b/scripts/setup/postgres-create-db @@ -12,6 +12,8 @@ CREATE DATABASE zulip OWNER=zulip; \\connect zulip CREATE SCHEMA zulip AUTHORIZATION zulip; CREATE EXTENSION tsearch_extras SCHEMA zulip; +CREATE EXTENSION pgroonga; +GRANT USAGE ON SCHEMA pgroonga TO zulip; " if [ -f /.dockerenv ]; then