mirror of
https://github.com/versia-pub/postgres.git
synced 2025-12-06 23:08:18 +01:00
Update Dockerfile
This commit is contained in:
parent
6b0daebc12
commit
a8c31e0872
30
Dockerfile
30
Dockerfile
|
|
@ -1,11 +1,29 @@
|
||||||
FROM postgres:16-alpine
|
FROM postgres:16-alpine AS env-build
|
||||||
|
|
||||||
RUN apk update && apk add git build-base postgresql-dev
|
# install build dependencies
|
||||||
RUN postgres --version
|
RUN apk update && apk upgrade \
|
||||||
RUN git clone https://github.com/fboulnois/pg_uuidv7
|
&& apk add build-base postgresql-dev
|
||||||
RUN cd pg_uuidv7 && make && make install && ls -la
|
|
||||||
|
|
||||||
COPY ./init.sql /docker-entrypoint-initdb.d/init.sql
|
WORKDIR /srv
|
||||||
|
COPY . /srv
|
||||||
|
|
||||||
|
# build extension for P16
|
||||||
|
RUN pg_buildext build-16 16
|
||||||
|
|
||||||
|
# create tarball and checksums
|
||||||
|
RUN cp sql/pg_uuidv7--1.5.sql . && TARGETS=$(find * -name pg_uuidv7.so) \
|
||||||
|
&& tar -czvf pg_uuidv7.tar.gz $TARGETS pg_uuidv7--1.5.sql pg_uuidv7.control \
|
||||||
|
&& sha256sum pg_uuidv7.tar.gz $TARGETS pg_uuidv7--1.5.sql pg_uuidv7.control > SHA256SUMS
|
||||||
|
|
||||||
|
FROM postgres:16-alpine AS env-deploy
|
||||||
|
|
||||||
|
# copy tarball and checksums
|
||||||
|
COPY --from=env-build /srv/pg_uuidv7.tar.gz /srv/SHA256SUMS /srv/
|
||||||
|
|
||||||
|
# add extension to postgres
|
||||||
|
COPY --from=env-build /srv/${PG_MAJOR}/pg_uuidv7.so /usr/lib/postgresql/${PG_MAJOR}/lib
|
||||||
|
COPY --from=env-build /srv/pg_uuidv7.control /usr/share/postgresql/${PG_MAJOR}/extension
|
||||||
|
COPY --from=env-build /srv/pg_uuidv7--1.5.sql /usr/share/postgresql/${PG_MAJOR}/extension
|
||||||
|
|
||||||
# Add a script to run the CREATE EXTENSION command
|
# Add a script to run the CREATE EXTENSION command
|
||||||
RUN printf '#!/bin/sh\npsql -U "$POSTGRES_USER" -d "$POSTGRES_DB" -c "CREATE EXTENSION pg_uuidv7;"' > /docker-entrypoint-initdb.d/init.sh
|
RUN printf '#!/bin/sh\npsql -U "$POSTGRES_USER" -d "$POSTGRES_DB" -c "CREATE EXTENSION pg_uuidv7;"' > /docker-entrypoint-initdb.d/init.sh
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue