90 lines
2.4 KiB
Bash
90 lines
2.4 KiB
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
if [ -n "$(getent group "$WWW_DATA_GID")" ]
|
|
then
|
|
GROUPNAME=$(getent passwd "$WWW_DATA_GID" | cut -d: -f1)
|
|
echo "Deleting group $GROUPNAME which already uses GID $WWW_DATA_GID"
|
|
groupdel "$GROUPNAME"
|
|
else
|
|
echo "GID $WWW_DATA_GID not in use"
|
|
fi
|
|
|
|
if [ -n "$(getent passwd "$WWW_DATA_UID")" ]
|
|
then
|
|
USERNAME=$(getent passwd "$WWW_DATA_UID" | cut -d: -f1)
|
|
echo "Deleting user $USERNAME which already uses UID $WWW_DATA_UID"
|
|
userdel "$USERNAME"
|
|
else
|
|
echo "UID $WWW_DATA_UID not in use"
|
|
fi
|
|
|
|
if [ -n "$(getent group www-data)" ]
|
|
then
|
|
echo "Modifying existing www-data group, setting GID to $WWW_DATA_GID"
|
|
groupmod -g "$WWW_DATA_GID" www-data
|
|
else
|
|
echo "Adding www-data group with GID $WWW_DATA_GID"
|
|
groupadd -g "$WWW_DATA_GID" www-data
|
|
fi
|
|
|
|
if [ -n "$(getent passwd www-data)" ]
|
|
then
|
|
echo "Modifying existing www-data user, setting GID to $WWW_DATA_GID"
|
|
usermod -g "$WWW_DATA_GID" www-data
|
|
else
|
|
echo "Adding www-data user with UID $WWW_DATA_UID and GID $WWW_DATA_GID"
|
|
getent passwd 1000
|
|
useradd -u "$WWW_DATA_UID" -g "$WWW_DATA_GID" www-data
|
|
fi
|
|
|
|
if [ -n "$(ls -A /data 2>/dev/null)" ]
|
|
then
|
|
echo "Data directory contains files, not downloading NamelessMC"
|
|
else
|
|
echo "Data directory is empty, downloading NamelessMC.."
|
|
set -x
|
|
mkdir -p /data
|
|
cd /tmp
|
|
curl -Lo "nameless.tar.gz" "https://github.com/NamelessMC/Nameless/archive/${VERSION}.tar.gz"
|
|
tar -xf "nameless.tar.gz"
|
|
mv Nameless-*/* "/data"
|
|
rm -rf /tmp/*
|
|
# remove some unnecessary files (dotfiles in the root directory are not copied in the first place)
|
|
cd /data
|
|
rm -rf \
|
|
cache/.htaccess \
|
|
changelog.txt \
|
|
CONTRIBUTORS.md \
|
|
docker-compose.yaml \
|
|
Dockerfile \
|
|
nginx.example \
|
|
README.md \
|
|
web.config.example \
|
|
uploads/placeholder.txt \
|
|
LICENSE.txt \
|
|
SECURITY.md \
|
|
phpstan.neon
|
|
# fix permissions
|
|
chown -R www-data:www-data /data
|
|
find . -type d -exec chmod 750 {} \;
|
|
find . -type f -exec chmod 640 {} \;
|
|
set +x
|
|
echo "Done!"
|
|
fi
|
|
|
|
if [ -n "$NAMELESS_AUTO_INSTALL" ]
|
|
then
|
|
cd /data
|
|
if [ -f core/config.php ]; then
|
|
echo "core/config.php exists, not running installer."
|
|
else
|
|
echo "Going to run installer, first waiting 10 seconds for the database to start"
|
|
sleep 10
|
|
echo "Running installer..."
|
|
php -f cli_install.php -- --iSwearIKnowWhatImDoing
|
|
fi
|
|
fi
|
|
|
|
exec php-fpm
|