1
0
mirror of https://github.com/misterunknown/ifm.git synced 2025-08-09 17:46:31 +02:00

Fix broken Dockerfile and docker-startup.sh for correct user and group usage

Signed-off-by: Marco Dickert <marco@misterunknown.de>
This commit is contained in:
Marco Dickert
2020-01-14 10:50:12 +01:00
parent 0bc13f4560
commit f4dafb3215
2 changed files with 23 additions and 7 deletions

View File

@@ -14,6 +14,13 @@ RUN apk add --no-cache libbz2 libzip libcap sudo && \
# allow php binary to bind ports <1000, even if $USER != root
RUN /usr/sbin/setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/php
# remove unnecessary users
RUN deluser xfs && \
deluser www-data
# sudo: workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1773148
RUN echo "Set disable_coredump false" > /etc/sudo.conf
# prepare files
RUN rm -rf /var/www/html && \
mkdir -p /usr/local/share/webapps/ifm && \

View File

@@ -2,25 +2,34 @@
set -e
if [ ! -z $IFM_DOCKER_UID ]; then
# check if UID/GID are numeric
if ! echo "$IFM_DOCKER_UID$IFM_DOCKER_GID" | egrep "^[0-9]+$" >/dev/null 2>&1; then
echo "FATAL: IFM_DOCKER_UID or IFM_DOCKER_GID are not numeric (UID: $IFM_DOCKER_UID, GID: $IFM_DOCKER_GID)"
exit 1
fi
# get GID if not set
if [ -z $IFM_DOCKER_GID ]; then
export IFM_DOCKER_GID=$IFM_DOCKER_UID
fi
# delete user if already exists
if getent passwd $IFM_DOCKER_UID >/dev/null 2>&1; then
deluser $(getent passwd $IFM_DOCKER_UID | sed "s/:.*//")
fi
# check if group already exists
if ! getent group $IFM_DOCKER_GID >/dev/null 2>&1; then
addgroup -g $IFM_DOCKER_GID -S ifm
REAL_GROUP=ifm
addgroup -g $IFM_DOCKER_GID -S www-data
REAL_GROUP=www-data
else
REAL_GROUP=$(getent group $IFM_DOCKER_GID | sed "s/:.*//")
fi
adduser -u $IFM_DOCKER_UID -HDG $REAL_GROUP ifm
sudo -E -u ifm -c "php -S 0:80 -t /usr/local/share/webapps/ifm"
adduser -u $IFM_DOCKER_UID -SHDG $REAL_GROUP www-data
else
deluser xfs
deluser www-data
addgroup -g 33 -S www-data
adduser -SHD -u 33 -G www-data www-data
sudo -E -u www-data php -S 0:80 -t /usr/local/share/webapps/ifm
fi
sudo -Eu www-data /usr/local/bin/php -S 0:80 -t /usr/local/share/webapps/ifm