Run pgAdmin in the container as a non-root user (pgadmin, UID: 5050). Fixes #4939.

This commit is contained in:
Dave Page
2019-12-09 11:09:46 +05:30
committed by Akshay Joshi
parent f44627c205
commit 619c4e1180
3 changed files with 19 additions and 4 deletions

View File

@@ -160,7 +160,9 @@ RUN apk add --no-cache --virtual \
apk add \
postfix \
postgresql-client \
postgresql-libs && \
postgresql-libs \
shadow \
libcap && \
pip install --upgrade pip && \
pip install --no-cache-dir -r requirements.txt && \
pip install --no-cache-dir gunicorn==19.9.0 && \
@@ -177,6 +179,17 @@ COPY pkg/docker/entrypoint.sh /entrypoint.sh
# Precompile and optimize python code to save time and space on startup
RUN python -O -m compileall -x node_modules /pgadmin4
RUN groupadd -g 5050 pgadmin && \
useradd -r -u 5050 -g pgadmin pgadmin && \
mkdir -p /var/lib/pgadmin && \
chown pgadmin:pgadmin /var/lib/pgadmin && \
mkdir -p /var/log/pgadmin && \
chown pgadmin:pgadmin /var/log/pgadmin && \
touch /pgadmin4/config_distro.py && \
chown pgadmin:pgadmin /pgadmin4/config_distro.py && \
setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/python3.7
USER pgadmin
# Finish up
VOLUME /var/lib/pgadmin
EXPOSE 80 443