do repmgr manual

This commit is contained in:
Bernhard Radermacher
2026-02-18 14:03:36 +01:00
parent 2614bee096
commit d56ccc7dbe

View File

@@ -110,43 +110,43 @@ RUN set -ex; \
find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +; \ find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +; \
postgres --version postgres --version
RUN set -eux; \ #RUN set -eux; \
savedAptMark="$(apt-mark showmanual)"; \ # savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \ # apt-get update; \
apt-get install -y --no-install-recommends ca-certificates wget libjson-c-dev libcurlpp-dev; \ # apt-get install -y --no-install-recommends ca-certificates wget libjson-c-dev libcurlpp-dev; \
apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \ # apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; \
rm -rf /var/lib/apt/lists/*; \ # rm -rf /var/lib/apt/lists/*; \
tempDir="$(mktemp -d)"; \ # tempDir="$(mktemp -d)"; \
nproc="$(nproc)"; \ # nproc="$(nproc)"; \
cp /usr/include/postgresql/15/server/pg_config.h /usr/include/postgresql/; \ # cp /usr/include/postgresql/15/server/pg_config.h /usr/include/postgresql/; \
cd "$tempDir"; \ # cd "$tempDir"; \
wget https://github.com/EnterpriseDB/repmgr/releases/download/v5.5.0/repmgr-5.5.0.tar.gz; \ # wget https://github.com/EnterpriseDB/repmgr/releases/download/v5.5.0/repmgr-5.5.0.tar.gz; \
echo "c5633c351f3a0627a53ac1828ac7581ee74c7e0c repmgr-5.5.0.tar.gz" | sha1sum --check && \ # echo "c5633c351f3a0627a53ac1828ac7581ee74c7e0c repmgr-5.5.0.tar.gz" | sha1sum --check && \
tar -xvzf repmgr-5.5.0.tar.gz; \ # tar -xvzf repmgr-5.5.0.tar.gz; \
cd repmgr; \ # cd repmgr; \
./configure && make -j "$nproc" install; \ # ./configure && make -j "$nproc" install; \
apt-mark auto '.*' > /dev/null; \ # apt-mark auto '.*' > /dev/null; \
[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \ # [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false # apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
#
RUN set -eux; \ #RUN set -eux; \
dpkg-divert --add --rename --divert "/usr/share/postgresql/postgresql.conf.sample.dpkg" "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample"; \ # dpkg-divert --add --rename --divert "/usr/share/postgresql/postgresql.conf.sample.dpkg" "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample"; \
cp -v /usr/share/postgresql/postgresql.conf.sample.dpkg /usr/share/postgresql/postgresql.conf.sample; \ # cp -v /usr/share/postgresql/postgresql.conf.sample.dpkg /usr/share/postgresql/postgresql.conf.sample; \
ln -sv ../postgresql.conf.sample "/usr/share/postgresql/$PG_MAJOR/"; \ # ln -sv ../postgresql.conf.sample "/usr/share/postgresql/$PG_MAJOR/"; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ # sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample # grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
#
RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql #RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
#
ENV PGDATA=/var/lib/postgresql/data #ENV PGDATA=/var/lib/postgresql/data
#
RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" #RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
#
VOLUME /var/lib/postgresql/data #VOLUME /var/lib/postgresql/data
#
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ #COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/
#
RUN ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh #RUN ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh
ENTRYPOINT ["/bin/bash"] ENTRYPOINT ["/bin/bash"]