| ADD file:b4987bca8c4c4c640d6b71dcccfd7172b44771e0f851a47d05c00c2bdcd204f6 in / |
| CMD ["bash"] |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; rm -rf /var/lib/apt/lists/* # buildkit |
| ARG SRV_UID=1000 |
| ARG SRV_GID=100 |
| ARG SRV_LOCALE=en_GB |
| ARG SRV_VERSION=0 |
| ARG SRV_APT_GET_INSTALL= |
| ENV SRV_UID=1000 |
| ENV SRV_GID=100 |
| ENV SRV_LOCALE=en_GB |
| ENV DEBIAN_FRONTEND=noninteractive |
| ENV PGDATA=/data |
| ENV POSTGRES_INITDB_ARGS=--locale=en_GB.UTF-8 --lc-ctype=en_GB.UTF-8 --lc-monetary=en_GB.UTF-8 --lc-numeric=en_GB.UTF-8 --lc-time=en_GB.UTF-8 --lc-collate=en_GB.UTF-8 --encoding=UTF8 |
| LABEL org.opencontainers.image.version=0 |
| RUN |5 SRV_UID=1000 SRV_GID=100 SRV_LOCALE=en_GB SRV_VERSION=0 SRV_APT_GET_INSTALL= /bin/sh -c if [ -z "$( getent group $SRV_GID )" ] ; then groupadd -r postgres --gid=$SRV_GID ; fi && useradd -r -g $SRV_GID --uid=$SRV_UID --home-dir=/var/lib/postgresql --shell=/bin/bash postgres && mkdir -p $PGDATA && chown -R $SRV_UID:$SRV_GID $PGDATA && apt-get update -y && apt-get install -y --no-install-recommends apt-utils lsb-release && ( curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg ) && ( echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list ) && apt-get update -y && mkdir -p /docker-entrypoint-initdb.d && apt-get install -y --no-install-recommends postgresql-18 postgresql-common postgresql-18-cron postgresql-18-extra-window-functions postgresql-18-numeral postgresql-18-pgmemcache postgresql-18-pgpcre postgresql-18-postgis-3 postgresql-18-postgis-3-scripts postgresql-18-repack postgresql-18-set-user postgresql-18-similarity postgresql-18-age postgresql-18-pgvector postgresql-18-tablelog locales-all $SRV_APT_GET_INSTALL && apt-get clean && rm -rf ~/.cache && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |5 SRV_UID=1000 SRV_GID=100 SRV_LOCALE=en_GB SRV_VERSION=0 SRV_APT_GET_INSTALL= /bin/sh -c apt-get update -y && apt-get install -y --no-install-recommends postgresql-server-dev-18 && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && export PATH="/root/.cargo/bin:$PATH" && cargo install cargo-pgrx --version 0.17.0 && cargo pgrx init --pg18=/usr/lib/postgresql/18/bin/pg_config && git clone https://github.com/grove/pg-trickle.git /tmp/pg-trickle && cd /tmp/pg-trickle && cargo pgrx install --release --pg-config=/usr/lib/postgresql/18/bin/pg_config && rm -rf /root/.cargo /root/.rustup /root/.pgrx /tmp/pg-trickle && apt-get purge -y postgresql-server-dev-18 && apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| ENV PATH=/usr/lib/postgresql/18/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| COPY docker-entrypoint.sh / # buildkit |
| USER 1000:100 |
| RUN |5 SRV_UID=1000 SRV_GID=100 SRV_LOCALE=en_GB SRV_VERSION=0 SRV_APT_GET_INSTALL= /bin/sh -c ln -s $PGDATA/.bash_history $HOME/.bash_history # buildkit |
| WORKDIR /data |
| ENTRYPOINT ["/docker-entrypoint.sh"] |
| STOPSIGNAL SIGINT |
| EXPOSE map[5432/tcp:{}] |
| CMD ["postgres" "-c" "listen_addresses=*"] |
| HEALTHCHECK &{["CMD-SHELL" "pg_isready -U \"${POSTGRES_USER:-postgres}\""] "30s" "3s" "0s" "0s" '\x04'} |