1
0
mirror of https://github.com/misterunknown/ifm.git synced 2025-08-10 18:14:00 +02:00
Files
php-ifm/docker/docker-startup.sh
Dmytro Novash 4ad3277c18 fix codeql#4621
2024-08-12 17:57:46 +03:00

36 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
set -e
if [ -n $IFM_DOCKER_UID ]; then
# check if UID/GID are numeric
if ! echo "$IFM_DOCKER_UID$IFM_DOCKER_GID" | grep -E "^[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 www-data
REAL_GROUP=www-data
else
REAL_GROUP=$(getent group "$IFM_DOCKER_GID" | sed "s/:.*//")
fi
adduser -u "$IFM_DOCKER_UID" -SHDG "$REAL_GROUP" www-data
else
addgroup -g 33 -S www-data
adduser -SHD -u 33 -G www-data www-data
fi
sudo -Eu www-data /usr/local/bin/php -c /usr/local/share/webapps/ifm/php.ini -S 0:80 -t /usr/local/share/webapps/ifm