docker-webserver-nginx/rootfs/app/entrypoint.sh
2024-12-13 11:34:16 +01:00

38 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
WEBROOT=/data/www
PHP=${PHP:-none}
USERNAME=${USERNAME:-theuser}
RANDOMPWD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 13)
adduser -DH -h "${WEBROOT}" -G "nginx" -u "1000" "${USERNAME}"
printf '%s\n%s' "${RANDOMPWD}" "${RANDOMPWD}" | passwd "${USERNAME}"
echo "password for the user \"${USERNAME}\" is: ${RANDOMPWD}"
chown "${USERNAME}:nginx" "${WEBROOT}" -R
find "${WEBROOT}" -type d -exec chmod 0755 {} \;
find "${WEBROOT}" -type f -exec chmod 0644 {} \;
envsubst < /app/nginx.conf.tpl > /etc/nginx/http.d/default.conf
# start php
case "${PHP}" in
"php84") /usr/sbin/php-fpm84 -D ;;
"php83") /usr/sbin/php-fpm83 -D ;;
"php82") /usr/sbin/php-fpm82 -D ;;
*) ;;
esac
# start ssh
for keytype in ecdsa rsa ed25519 ; do
if [ ! -r "/ssh/ssh_host_${keytype}_key" ] ; then
/usr/bin/ssh-keygen -t "${keytype}" -f "/ssh/ssh_host_${keytype}_key" -N ""
fi
chmod 0600 "/ssh/ssh_host_${keytype}_key"
chmod 0644 "/ssh/ssh_host_${keytype}_key.pub"
done
chmod 0700 "${WEBROOT}/.ssh"
/usr/sbin/sshd -e
# start nginx
nginx