# vim:set ft=dockerfile: # # Copyright The CloudNativePG Contributors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # FROM postgres:16.4-bookworm # Do not split the description, otherwise we will see a blank space in the labels LABEL name="PostgreSQL Container Images" \ vendor="The CloudNativePG Contributors" \ version="${PG_VERSION}" \ release="19" \ summary="PostgreSQL Container images." \ description="This Docker image contains PostgreSQL and Barman Cloud based on Postgres 16.4-bookworm." LABEL org.opencontainers.image.description="This Docker image contains PostgreSQL and Barman Cloud based on Postgres 16.4-bookworm." COPY requirements.txt / RUN localedef -i de_DE -c -f UTF-8 -A /usr/share/locale/locale.alias de_DE.UTF-8 ENV LANG de_DE.utf8 # Install additional extensions RUN set -xe; \ apt-get update; \ apt-get install -y --no-install-recommends \ "postgresql-${PG_MAJOR}-pgaudit" \ "postgresql-${PG_MAJOR}-pgvector" \ "postgresql-${PG_MAJOR}-pg-failover-slots" \ ; \ rm -fr /tmp/* ; \ rm -rf /var/lib/apt/lists/*; # Install barman-cloud RUN set -xe; \ apt-get update; \ apt-get install -y --no-install-recommends \ # We require build dependencies to build snappy 0.6 # on Python 3.11 or greater. # TODO: Remove build deps once barman unpins the snappy version or # https://github.com/EnterpriseDB/barman/issues/905 is completed build-essential python3-dev libsnappy-dev \ python3-pip \ python3-psycopg2 \ python3-setuptools \ ; \ pip3 install --break-system-packages --upgrade pip; \ # TODO: Remove --no-deps once https://github.com/pypa/pip/issues/9644 is solved pip3 install --break-system-packages --no-deps -r requirements.txt; \ # We require build dependencies to build snappy 0.6 # on Python 3.11 or greater. # TODO: Remove build deps once barman unpins the snappy version or # https://github.com/EnterpriseDB/barman/issues/905 is completed apt-get remove -y --purge --autoremove \ build-essential \ python3-dev \ libsnappy-dev \ ; \ rm -rf /var/lib/apt/lists/*; # Change the uid of postgres to 26 RUN usermod -u 26 postgres USER 26