49 lines
1.1 KiB
Bash
Executable File
49 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
set -e
|
|
|
|
# If first arg starts with a `-` or is empty
|
|
if [[ "${1#-}" != "${1}" ]] || [[ -z "${1}" ]]; then
|
|
set -- php-fpm "$@"
|
|
fi
|
|
|
|
# Configure app url
|
|
url=$(echo "$APP_URL" | sed -n 's~https*://[^/]\+/\(.*\)~\1~p')
|
|
url=${url%/}
|
|
if [[ -n "${url}" ]]; then
|
|
echo "Url prefix: '${url}'"
|
|
sed -i "s~location /~rewrite ^/${url}(/.*)?$ /\$1;\n location /~" /etc/nginx/nginx.conf
|
|
fi
|
|
|
|
function get_name() {
|
|
echo "$1" | cut -d: -f1
|
|
}
|
|
|
|
# Create users for user mapping from RUN_USER=[uid]:[gid]
|
|
if [[ -n "${RUN_USER}" ]]; then
|
|
echo "Setting user to $RUN_USER"
|
|
|
|
gid=${RUN_USER#*:}
|
|
grp=$(getent group $gid || true)
|
|
if [[ -z "$grp" ]]; then # Group not present
|
|
addgroup -g $gid php
|
|
grp=$(getent group $gid)
|
|
fi
|
|
group=$(get_name "$grp")
|
|
|
|
uid=${RUN_USER%:*}
|
|
usr=$(getent passwd $uid || true)
|
|
if [[ -z "$usr" ]]; then # User not present
|
|
adduser -D -h "$PWD" -u $uid -G "$group" php
|
|
usr=$(getent passwd $uid)
|
|
fi
|
|
user=$(get_name "$usr")
|
|
|
|
echo -e "user = $user\ngroup = $group" >> /usr/local/etc/php-fpm.d/zz-docker.conf
|
|
|
|
echo "Running as $user:$group"
|
|
fi
|
|
|
|
|
|
nginx -g 'daemon off;'&
|
|
exec "$@"
|