mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-12-20 14:36:52 +00:00
Merge pull request #2498 from nextcloud/postgres-dockerfile
optimize postgres Dockerfile
This commit is contained in:
commit
f2e4d8284c
1 changed files with 17 additions and 21 deletions
|
|
@ -1,39 +1,35 @@
|
||||||
# From https://github.com/docker-library/postgres/blob/master/15/alpine/Dockerfile
|
# From https://github.com/docker-library/postgres/blob/master/15/alpine/Dockerfile
|
||||||
FROM postgres:15.2-alpine
|
FROM postgres:15.2-alpine
|
||||||
|
|
||||||
RUN apk add --no-cache bash openssl shadow grep mawk
|
COPY --chmod=775 start.sh /start.sh
|
||||||
|
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||||
|
COPY --chmod=775 init-user-db.sh /docker-entrypoint-initdb.d/init-user-db.sh
|
||||||
|
|
||||||
# We need to use the same gid and uid as on old installations
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
|
apk add --no-cache bash openssl shadow grep mawk; \
|
||||||
|
\
|
||||||
|
# We need to use the same gid and uid as on old installations
|
||||||
deluser postgres; \
|
deluser postgres; \
|
||||||
groupmod -g 9999 ping; \
|
groupmod -g 9999 ping; \
|
||||||
addgroup -g 999 -S postgres; \
|
addgroup -g 999 -S postgres; \
|
||||||
adduser -u 999 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres
|
adduser -u 999 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
|
||||||
|
apk del --no-cache shadow; \
|
||||||
|
\
|
||||||
# Fix default permissions
|
# Fix default permissions
|
||||||
RUN set -ex; \
|
|
||||||
chown -R postgres:postgres /var/lib/postgresql; \
|
chown -R postgres:postgres /var/lib/postgresql; \
|
||||||
chown -R postgres:postgres /var/run/postgresql; \
|
chown -R postgres:postgres /var/run/postgresql; \
|
||||||
chown -R postgres:postgres "$PGDATA"
|
chown -R postgres:postgres "$PGDATA"; \
|
||||||
|
\
|
||||||
COPY start.sh /usr/bin/
|
mkdir /mnt/data; \
|
||||||
COPY healthcheck.sh /usr/bin/
|
|
||||||
COPY init-user-db.sh /docker-entrypoint-initdb.d/
|
|
||||||
RUN set -ex; \
|
|
||||||
chmod +x /usr/bin/start.sh; \
|
|
||||||
chmod +xr /docker-entrypoint-initdb.d/init-user-db.sh; \
|
|
||||||
chmod +x /usr/bin/healthcheck.sh
|
|
||||||
|
|
||||||
RUN mkdir /mnt/data; \
|
|
||||||
chown postgres:postgres /mnt/data;
|
chown postgres:postgres /mnt/data;
|
||||||
|
\
|
||||||
|
# Give root a random password
|
||||||
|
echo "root:$(openssl rand -base64 12)" | chpasswd
|
||||||
|
|
||||||
VOLUME /mnt/data
|
VOLUME /mnt/data
|
||||||
|
|
||||||
# Give root a random password
|
|
||||||
RUN echo "root:$(openssl rand -base64 12)" | chpasswd
|
|
||||||
|
|
||||||
USER postgres
|
USER postgres
|
||||||
ENTRYPOINT ["start.sh"]
|
ENTRYPOINT ["/start.sh"]
|
||||||
|
|
||||||
HEALTHCHECK CMD healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.monitor-only="true"
|
LABEL com.centurylinklabs.watchtower.monitor-only="true"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue