db-postgres (dev)

Published 2024-08-19 21:48:22 +02:00 by keedosn

Installation

docker pull git.ego.cloudns.be/egommerce/db-postgres:dev
sha256:6f0fe4489cd828ab7b87a530145cd473e407ab1a6979286f9508e3c55c9a2bc3

Image Layers

ADD file:8729f9c0258836b640e9e789c7ab029cf4547e0596557d54dd4a4d7d8e4a785f in /
CMD ["/bin/sh"]
RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; mkdir -p /var/lib/postgresql; chown -R postgres:postgres /var/lib/postgresql # buildkit
ENV LANG=en_US.utf8
RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit
ENV PG_MAJOR=16
ENV PG_VERSION=16.3
ENV PG_SHA256=331963d5d3dc4caf4216a049fa40b66d6bcb8c730615859411b9518764e60585
ENV DOCKER_PG_LLVM_DEPS=llvm15-dev clang15
RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; wget -O config/config.guess 'https://git.savannah.gnu.org/cgit/config.git/plain/config.guess?id=7d3d27baf8107b630586c962c057e22149653deb'; wget -O config/config.sub 'https://git.savannah.gnu.org/cgit/config.git/plain/config.sub?id=7d3d27baf8107b630586c962c057e22149653deb'; export LLVM_CONFIG="/usr/lib/llvm15/bin/llvm-config"; export CLANG=clang-15; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-thread-safety --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --with-zstd ; make -j "$(nproc)" world; make install-world; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash su-exec tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit
RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit
RUN /bin/sh -c mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql # buildkit
ENV PGDATA=/var/lib/postgresql/data
RUN /bin/sh -c mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" # buildkit
VOLUME [/var/lib/postgresql/data]
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit
RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit
ENTRYPOINT ["docker-entrypoint.sh"]
STOPSIGNAL SIGINT
EXPOSE map[5432/tcp:{}]
CMD ["postgres"]
ARG BUILD_TIME=20240819214812
LABEL dev.egommerce.image.author=Piotr Biernat
LABEL dev.egommerce.image.vendor=Egommerce
LABEL dev.egommerce.image.service=db-postgres
LABEL dev.egommerce.image.version=1.0
LABEL dev.egommerce.image.build_time=20240819214812
COPY ./db-postgres/entrypoint.sh /entrypoint.sh # buildkit
COPY ./.app.config / # buildkit
RUN |1 BUILD_TIME=20240819214812 /bin/sh -c mkdir -p /var/lib/postgresql/data && chown -R postgres /var/lib/postgresql/data && apk update && apk add ca-certificates # buildkit
USER root
EXPOSE map[5432/tcp:{}]
ENTRYPOINT ["/entrypoint.sh"]
CMD ["postgres"]

Labels

Key Value
dev.egommerce.image.author Piotr Biernat
dev.egommerce.image.build_time 20240819214812
dev.egommerce.image.service db-postgres
dev.egommerce.image.vendor Egommerce
dev.egommerce.image.version 1.0
Details
Container
2024-08-19 21:48:22 +02:00
750
OCI / Docker
linux/amd64
94 MiB
Versions (1) View all
dev 2024-08-19