From a2e5e14cb68180d90cfd81a5f389798808dabf13 Mon Sep 17 00:00:00 2001 From: Torsten Raudssus Date: Fri, 1 Mar 2024 02:54:24 +0100 Subject: [PATCH] Updated to PostgreSQL 16 and added proper locale settings --- .gitignore | 3 ++- Dockerfile | 31 +++++++++++++++++-------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 8d0d34d..6be227b 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ node_modules local tmp .parcel-cache +.bash_history .env .mc @@ -34,4 +35,4 @@ docker-compose.override.yml .git root -dist \ No newline at end of file +dist diff --git a/Dockerfile b/Dockerfile index 785b73a..bd1f34c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,40 +2,43 @@ FROM buildpack-deps:bullseye ARG SRV_UID="1000" ARG SRV_GID="100" +ARG SRV_LOCALE="en_US" ARG SRV_VERSION="0" ENV SRV_UID $SRV_UID ENV SRV_GID $SRV_GID +ENV SRV_LOCALE $SRV_LOCALE ENV SRV_VERSION $SRV_VERSION ENV SRV_APT_GET_INSTALL $SRV_APT_GET_INSTALL ENV DEBIAN_FRONTEND "noninteractive" ENV PGDATA "/data" +ENV POSTGRES_INITDB_ARGS "--locale=${SRV_LOCALE}.UTF-8 --lc-ctype=${SRV_LOCALE}.UTF-8 --lc-monetary=${SRV_LOCALE}.UTF-8 --lc-numeric=${SRV_LOCALE}.UTF-8 --lc-time=${SRV_LOCALE}.UTF-8 --lc-collate=${SRV_LOCALE}.UTF-8 --encoding=UTF8" # explicitly set user/group IDs RUN 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 lsb-release && \ + apt-get update -y && apt-get install -y 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 postgresql-15 postgresql-common postgresql-15-pglogical \ - postgresql-15-cron postgresql-15-extra-window-functions \ - postgresql-15-first-last-agg postgresql-15-jsquery postgresql-15-numeral \ - postgresql-15-pglogical-ticker postgresql-15-pgmemcache \ - postgresql-15-pgpcre postgresql-15-pgrouting postgresql-15-repack \ - postgresql-15-pgrouting-scripts postgresql-15-pgsphere \ - postgresql-15-postgis-3 postgresql-15-postgis-3-scripts \ - postgresql-15-repack postgresql-15-set-user postgresql-15-similarity \ - postgresql-15-pgpool2 postgresql-15-semver postgresql-15-repmgr \ - postgresql-15-tablelog postgresql-15-wal2json \ + apt-get install -y postgresql-16 postgresql-common postgresql-16-pglogical \ + postgresql-16-cron postgresql-16-extra-window-functions \ + postgresql-16-first-last-agg postgresql-16-jsquery postgresql-16-numeral \ + postgresql-16-pglogical-ticker postgresql-16-pgmemcache \ + postgresql-16-pgpcre postgresql-16-pgrouting postgresql-16-repack \ + postgresql-16-pgrouting-scripts postgresql-16-pgsphere \ + postgresql-16-postgis-3 postgresql-16-postgis-3-scripts \ + postgresql-16-repack postgresql-16-set-user postgresql-16-similarity \ + postgresql-16-pgpool2 postgresql-16-semver postgresql-16-repmgr \ + postgresql-16-tablelog postgresql-16-wal2json apgdiff locales-all \ $SRV_APT_GET_INSTALL && \ apt-get clean && rm -rf ~/.cache && rm -rf /var/lib/apt/lists/* -ENV PATH="/usr/lib/postgresql/15/bin:$PATH" +ENV PATH="/usr/lib/postgresql/16/bin:$PATH" -COPY docker-entrypoint.sh /usr/local/bin/ +COPY docker-entrypoint.sh / USER $SRV_UID:$SRV_GID @@ -45,7 +48,7 @@ VOLUME $PGDATA WORKDIR $PGDATA -ENTRYPOINT ["docker-entrypoint.sh"] +ENTRYPOINT ["/docker-entrypoint.sh"] STOPSIGNAL SIGINT