@@ -6,41 +6,116 @@ ENV POSTGIS_VERSION 3.0.0+dfsg-2~exp1.pgdg100+1
6
6
RUN apt-get update \
7
7
&& apt-cache showpkg postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR \
8
8
&& 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/*
15
12
16
13
# 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/*
21
30
22
31
# install plpython3
23
32
RUN apt-get update \
24
33
&& apt-get install postgresql-plpython3-12 -y
25
34
26
35
# 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 \
28
42
libssl-dev \
29
- libkrb5-dev \
30
- git-core" \
43
+ libkrb5-dev" \
31
44
&& apt-get update \
32
45
&& apt-get install -y --no-install-recommends ${pgAuditDependencies} \
33
46
&& cd /tmp \
34
47
&& git clone https://github.com/pgaudit/pgaudit.git \
35
48
&& cd pgaudit \
36
- && git checkout master \
49
+ && git checkout ${PGAUDIT_VERSION} \
37
50
&& 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/*
39
114
40
115
# install plv8
41
116
ENV PLV8_VERSION=r3.0alpha
42
117
43
- RUN buildDependencies ="build-essential \
118
+ RUN plv8Dependencies ="build-essential \
44
119
ca-certificates \
45
120
curl \
46
121
git-core \
@@ -53,11 +128,11 @@ RUN buildDependencies="build-essential \
53
128
libc++-dev \
54
129
libc++abi-dev \
55
130
postgresql-server-dev-$PG_MAJOR" \
56
- && runtimeDependencies ="libc++1 \
131
+ && plv8RuntimeDependencies ="libc++1 \
57
132
libtinfo5 \
58
133
libc++abi1" \
59
134
&& apt-get update \
60
- && apt-get install -y --no-install-recommends ${buildDependencies } ${runtimeDependencies } \
135
+ && apt-get install -y --no-install-recommends ${plv8Dependencies } ${plv8RuntimeDependencies } \
61
136
&& mkdir -p /tmp/build \
62
137
&& cd /tmp/build \
63
138
&& git clone https://github.com/plv8/plv8.git \
@@ -67,9 +142,39 @@ RUN buildDependencies="build-essential \
67
142
&& make install \
68
143
&& rm -rf /root/.vpython_cipd_cache /root/.vpython-root \
69
144
&& apt-get clean \
70
- && apt-get remove -y ${buildDependencies } \
145
+ && apt-get remove -y ${plv8Dependencies } \
71
146
&& 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/*
73
178
74
179
RUN mkdir -p /docker-entrypoint-initdb.d
75
180
ADD ./mnt /docker-entrypoint-initdb.d/
0 commit comments