@@ -10,23 +10,24 @@ ENV PGPORT=5432
1010ENV PGUSER=postgres
1111ENV PGDATA=/usr/local/pgsql/data
1212ENV PG_BACKREST_VERSION=2.35
13- ENV PGUSER_UID=2001
14- ENV PGUSER_GID=2001
13+ ENV PGUSER_UID=70
14+ ENV PGUSER_GID=70
1515
1616COPY ./entrypoint.sh /entrypoint.sh
1717
18+ RUN addgroup --gid $PGUSER_GID $PGUSER && \
19+ adduser --disabled-password --uid $PGUSER_UID --ingroup $PGUSER --gecos "" -s /bin/bash $PGUSER
20+
1821# install dependencies
1922RUN apk add --no-cache --virtual .build-deps gcc g++ make wget pkgconf dpkg-dev pcre-dev \
2023 openssl-dev zlib-dev icu-dev readline-dev libxslt-dev libxml2-dev \
2124 bzip2-dev zlib-dev libuuid linux-headers \
2225 tzdata yaml-dev util-linux-dev && \
2326 apk add --no-cache git bash python3 py3-pip icu libxml2 lz4-dev zstd-dev \
24- postgresql-dev shadow && \
27+ postgresql-dev shadow su-exec && \
2528 # configure dependencies
2629 ln -sf python3 /usr/bin/python && \
2730 mkdir -p /downloads && \
28- addgroup --gid $PGUSER_GID $PGUSER && \
29- adduser --disabled-password --uid $PGUSER_UID --ingroup $PGUSER --gecos "" -s /bin/bash $PGUSER && \
3031 # download pgbackrest
3132 cd /downloads && \
3233 wget https://github.com/pgbackrest/pgbackrest/archive/release/$PG_BACKREST_VERSION.tar.gz && \
@@ -36,11 +37,6 @@ RUN apk add --no-cache --virtual .build-deps gcc g++ make wget pkgconf dpkg-dev
3637 cd /downloads/pgbackrest-release-$PG_BACKREST_VERSION/src && \
3738 ./configure && make && cp pgbackrest /usr/bin/ && \
3839 rm -r /downloads/pgbackrest-release-$PG_BACKREST_VERSION && \
39- # configure pgbackrest
40- chmod 755 /usr/bin/pgbackrest && \
41- mkdir -p -m 750 /var/log/pgbackrest && chown -R $PGUSER:$PGUSER /var/log/pgbackrest && \
42- mkdir -p -m 750 /var/lib/pgbackrest && chown -R $PGUSER:$PGUSER /var/lib/pgbackrest && \
43- mkdir -p -m 750 /var/spool/pgbackrest && chown -R $PGUSER:$PGUSER /var/spool/pgbackrest && \
4440 # download postgresql
4541 cd /downloads && \
4642 wget https://ftp.postgresql.org/pub/source/v$PGVERSION/postgresql-$PGVERSION.tar.gz && \
@@ -53,12 +49,16 @@ RUN apk add --no-cache --virtual .build-deps gcc g++ make wget pkgconf dpkg-dev
5349 rm -r /downloads/postgresql-$PGVERSION && \
5450 # configure postgresql
5551 cd / && \
56- mkdir -p -m 775 /var/run/postgresql && chown $PGUSER:$PGUSER /var/run/postgresql && \
57- mkdir -p -m 750 $PGDATA && chown $PGUSER:$PGUSER $PGDATA && \
5852 chmod +x /entrypoint.sh && \
5953 apk del --no-network .build-deps
6054
61- # USER $PGUSER
55+ # configure file and folder permissions
56+ RUN chmod 755 /usr/bin/pgbackrest && \
57+ mkdir -p /var/log/pgbackrest && chown -R $PGUSER:$PGUSER /var/log/pgbackrest && chmod 750 /var/log/pgbackrest && \
58+ mkdir -p /var/lib/pgbackrest && chown -R $PGUSER:$PGUSER /var/lib/pgbackrest && chmod 750 /var/lib/pgbackrest && \
59+ mkdir -p /var/spool/pgbackrest && chown -R $PGUSER:$PGUSER /var/spool/pgbackrest && chmod 750 /var/spool/pgbackrest && \
60+ mkdir -p /var/run/postgresql && chown -R $PGUSER:$PGUSER /var/run/postgresql && chmod 775 /var/run/postgresql && \
61+ mkdir -p $PGDATA && chown -R $PGUSER:$PGUSER $PGDATA && chmod 750 $PGDATA
6262
6363STOPSIGNAL SIGINT
6464
0 commit comments