Skip to content

Commit 03bd71d

Browse files
committed
Update Docker config for v0.13.0
1 parent 4e792e3 commit 03bd71d

File tree

3 files changed

+126
-34
lines changed

3 files changed

+126
-34
lines changed

docker/Dockerfile

Lines changed: 125 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,41 +6,116 @@ ENV POSTGIS_VERSION 3.0.0+dfsg-2~exp1.pgdg100+1
66
RUN apt-get update \
77
&& apt-cache showpkg postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR \
88
&& apt-get install -y --no-install-recommends \
9-
postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR \
10-
postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR-scripts \
11-
&& apt-get install software-properties-common -y \
12-
&& apt-get install git -y \
13-
&& apt-get install build-essential -y \
14-
&& rm -rf /var/lib/apt/lists/*
9+
postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR \
10+
postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR-scripts \
11+
&& rm -rf /var/lib/apt/lists/* /var/tmp/*
1512

1613
# install pgtap
17-
ENV PGTAP_VERSION v1.1.0
18-
RUN git clone git://github.com/theory/pgtap.git \
19-
&& cd pgtap && git checkout tags/$PGTAP_VERSION \
20-
&& make install
14+
ENV PGTAP_VERSION=v1.1.0
15+
16+
RUN pgtapDependencies="git \
17+
ca-certificates \
18+
build-essential" \
19+
&& apt-get update \
20+
&& apt-get install -y --no-install-recommends ${pgtapDependencies} \
21+
&& cd /tmp \
22+
&& git clone git://github.com/theory/pgtap.git \
23+
&& cd pgtap \
24+
&& git checkout tags/$PGTAP_VERSION \
25+
&& make install \
26+
&& apt-get clean \
27+
&& apt-get remove -y ${pgtapDependencies} \
28+
&& apt-get autoremove -y \
29+
&& rm -rf /tmp/pgtap /var/lib/apt/lists/* /var/tmp/*
2130

2231
# install plpython3
2332
RUN apt-get update \
2433
&& apt-get install postgresql-plpython3-12 -y
2534

2635
# install pgAudit
27-
RUN pgAuditDependencies="postgresql-server-dev-$PG_MAJOR \
36+
ENV PGAUDIT_VERSION=1.4.0
37+
38+
RUN pgAuditDependencies="git \
39+
ca-certificates \
40+
build-essential \
41+
postgresql-server-dev-$PG_MAJOR \
2842
libssl-dev \
29-
libkrb5-dev \
30-
git-core" \
43+
libkrb5-dev" \
3144
&& apt-get update \
3245
&& apt-get install -y --no-install-recommends ${pgAuditDependencies} \
3346
&& cd /tmp \
3447
&& git clone https://github.com/pgaudit/pgaudit.git \
3548
&& cd pgaudit \
36-
&& git checkout master \
49+
&& git checkout ${PGAUDIT_VERSION} \
3750
&& make check USE_PGXS=1 \
38-
&& make install USE_PGXS=1
51+
&& make install USE_PGXS=1 \
52+
&& apt-get clean \
53+
&& apt-get remove -y ${pgAuditDependencies} \
54+
&& apt-get autoremove -y \
55+
&& rm -rf /tmp/pgaudit /var/lib/apt/lists/* /var/tmp/*
56+
57+
# install pgjwt
58+
RUN pgjwtDependencies="git \
59+
ca-certificates \
60+
build-essential" \
61+
&& apt-get update \
62+
&& apt-get install -y --no-install-recommends ${pgjwtDependencies} \
63+
&& cd /tmp \
64+
&& git clone https://github.com/michelp/pgjwt.git \
65+
&& cd pgjwt \
66+
&& git checkout master \
67+
&& make install \
68+
&& apt-get clean \
69+
&& apt-get remove -y ${pgtapDependencies} \
70+
&& apt-get autoremove -y \
71+
&& rm -rf /tmp/pgjwt /var/lib/apt/lists/* /var/tmp/*
72+
73+
# install pgsql-http
74+
ENV PGSQL_HTTP_VERSION=v1.3.1
75+
76+
RUN pgsqlHttpDependencies="git \
77+
ca-certificates \
78+
build-essential \
79+
postgresql-server-dev-$PG_MAJOR" \
80+
&& pgsqlHttpRuntimeDependencies="libcurl4-gnutls-dev" \
81+
&& apt-get update \
82+
&& apt-get install -y --no-install-recommends ${pgsqlHttpDependencies} ${pgsqlHttpRuntimeDependencies} \
83+
&& cd /tmp \
84+
&& git clone https://github.com/pramsey/pgsql-http.git \
85+
&& cd pgsql-http \
86+
&& git checkout ${PGSQL_HTTP_VERSION} \
87+
&& make \
88+
&& make install \
89+
&& apt-get clean \
90+
&& apt-get remove -y ${pgsqlHttpDependencies} \
91+
&& apt-get autoremove -y \
92+
&& rm -rf /tmp/pgsql-http /var/lib/apt/lists/* /var/tmp/*
93+
94+
# install plpgsql_check
95+
ENV PLPGSQL_CHECK_VERSION=v1.11.3
96+
97+
RUN plpgsqlCheckDependencies="git \
98+
ca-certificates \
99+
build-essential \
100+
postgresql-server-dev-$PG_MAJOR" \
101+
&& plpgsqlCheckRuntimeDependencies="libicu-dev" \
102+
&& apt-get update \
103+
&& apt-get install -y --no-install-recommends ${plpgsqlCheckDependencies} ${plpgsqlCheckRuntimeDependencies} \
104+
&& cd /tmp \
105+
&& git clone https://github.com/okbob/plpgsql_check.git \
106+
&& cd plpgsql_check \
107+
&& git checkout ${PLPGSQL_CHECK_VERSION} \
108+
&& make clean \
109+
&& make install \
110+
&& apt-get clean \
111+
&& apt-get remove -y ${pgsqlHttpDependencies} \
112+
&& apt-get autoremove -y \
113+
&& rm -rf /tmp/plpgsql_check /var/lib/apt/lists/* /var/tmp/*
39114

40115
# install plv8
41116
ENV PLV8_VERSION=r3.0alpha
42117

43-
RUN buildDependencies="build-essential \
118+
RUN plv8Dependencies="build-essential \
44119
ca-certificates \
45120
curl \
46121
git-core \
@@ -53,11 +128,11 @@ RUN buildDependencies="build-essential \
53128
libc++-dev \
54129
libc++abi-dev \
55130
postgresql-server-dev-$PG_MAJOR" \
56-
&& runtimeDependencies="libc++1 \
131+
&& plv8RuntimeDependencies="libc++1 \
57132
libtinfo5 \
58133
libc++abi1" \
59134
&& apt-get update \
60-
&& apt-get install -y --no-install-recommends ${buildDependencies} ${runtimeDependencies} \
135+
&& apt-get install -y --no-install-recommends ${plv8Dependencies} ${plv8RuntimeDependencies} \
61136
&& mkdir -p /tmp/build \
62137
&& cd /tmp/build \
63138
&& git clone https://github.com/plv8/plv8.git \
@@ -67,9 +142,39 @@ RUN buildDependencies="build-essential \
67142
&& make install \
68143
&& rm -rf /root/.vpython_cipd_cache /root/.vpython-root \
69144
&& apt-get clean \
70-
&& apt-get remove -y ${buildDependencies} \
145+
&& apt-get remove -y ${plv8Dependencies} \
71146
&& apt-get autoremove -y \
72-
&& rm -rf /tmp/build /var/lib/apt/lists/*
147+
&& rm -rf /tmp/build /var/lib/apt/lists/* /var/tmp/*
148+
149+
# install pljava
150+
ENV PLJAVA_VERSION=V1_5_5
151+
152+
RUN pljavaDependencies="git \
153+
ca-certificates \
154+
g++ \
155+
maven \
156+
postgresql-server-dev-$PG_MAJOR \
157+
libpq-dev \
158+
libecpg-dev \
159+
libkrb5-dev \
160+
default-jdk \
161+
libssl-dev" \
162+
&& apt-get update \
163+
&& apt-get install -y --no-install-recommends ${pljavaDependencies} \
164+
&& cd /tmp \
165+
&& git clone https://github.com/tada/pljava.git \
166+
&& cd pljava \
167+
&& git checkout ${PLJAVA_VERSION} \
168+
&& mvn clean install \
169+
&& java -jar pljava-packaging/target/pljava-pg12.3-amd64-Linux-gpp.jar \
170+
&& apt-get clean \
171+
&& apt-get remove -y ${pljavaDependencies} \
172+
&& apt-get autoremove -y \
173+
&& rm -rf ~/.m2 /tmp/pljava /var/lib/apt/lists/* /var/tmp/*
174+
175+
RUN apt-get update \
176+
&& apt-get install -y --no-install-recommends default-jdk-headless \
177+
&& rm -rf /var/lib/apt/lists/* /var/tmp/*
73178

74179
RUN mkdir -p /docker-entrypoint-initdb.d
75180
ADD ./mnt /docker-entrypoint-initdb.d/

docker/mnt/00-schema.sql

Lines changed: 0 additions & 14 deletions
This file was deleted.

docker/mnt/init-permissions.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ echo "logging_collector=on" >> $PGDATA/postgresql.conf
1313
echo "log_filename='postgresql.log'" >> $PGDATA/postgresql.conf
1414
echo "log_rotation_age=0" >> $PGDATA/postgresql.conf
1515
echo "log_rotation_size=0" >> $PGDATA/postgresql.conf
16+
echo "pljava.libjvm_location = '/usr/lib/jvm/java-11-openjdk-amd64/lib/server/libjvm.so'" >> $PGDATA/postgresql.conf

0 commit comments

Comments
 (0)