ARG PG_MAJOR_VERSION=17 ARG DEB_RELEASE=bookworm ARG FMT_DATE=2025-05-08 ARG BASE_IMAGE_TAG=${PG_MAJOR_VERSION}-${DEB_RELEASE}-${FMT_DATE} FROM gitea.simcop2387.info/simcop2387/postgresql-container-base:${BASE_IMAGE_TAG} AS pgbuilder ARG POSTGIS_VERSION=3.5.2 ARG PGVECTOR_VERSION=v0.8.0 ARG TIMESCALEDB_VERSION=2.19.3 ARG HYPOPG_VERSION=1.4.1 RUN apt update && apt install -y build-essential flex bison git yacc cmake \ docbook-xsl-ns \ gettext \ libgdal-dev \ libgeos-dev \ libjson-c-dev \ libproj-dev \ libprotobuf-c-dev \ libsfcgal-dev \ libxml2-dev \ libxml2-utils \ protobuf-c-compiler \ xsltproc RUN mkdir -p /build/ RUN git clone https://github.com/timescale/timescaledb --depth=1 --recursive -b ${TIMESCALEDB_VERSION} /build/timescale/ WORKDIR /build/timescale/ RUN ./bootstrap RUN cd build && make -j && make install # TODO UPDATE PGCONFIG # shared_preload_libraries = 'timescaledb' WORKDIR /build RUN git clone https://github.com/postgis/postgis --depth=1 --recursive -b ${POSTGIS_VERSION} /build/postgis/ WORKDIR /build/postgis RUN ./autogen.sh && ./configure --enable-lto && make -j && make install WORKDIR /build RUN git clone https://github.com/HypoPG/hypopg --depth=1 --recursive -b ${HYPOPG_VERSION} /build/hypopg WORKDIR /build/hypopg RUN make -j && make install WORKDIR /build RUN git clone https://github.com/pgvector/pgvector --depth=1 --recursive -b ${PGVECTOR_VERSION} /build/pgvector WORKDIR /build/pgvector RUN make -j && make install FROM gitea.simcop2387.info/simcop2387/postgresql-container-base:${BASE_IMAGE_TAG} COPY --from=pgbuilder /usr/share/postgresql/ /usr/share/posrgresql/ COPY --from=pgbuilder /usr/lib/postgresql/ /usr/lib/postgresql/ COPY --from=pgbuilder /usr/local/ /usr/local/