postgresql-containers/general/Dockerfile
Ryan Voots 48cff2a0e6
All checks were successful
/ build-general (bookworm, 1.4.1, v0.8.0, 17, 3.5.2, 2.19.3) (push) Successful in 3m2s
/ build-base (bookworm, 17) (push) Successful in 2m15s
setup a target and disable cache
2025-05-08 15:55:29 -04:00

58 lines
1.8 KiB
Docker

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} AS final
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/
RUN ls -lah /usr/share/posrgresql/*/extension/