Files
docker-luckybackup/scripts/start.sh

81 lines
2.4 KiB
Bash

#!/bin/bash
echo "---Ensuring UID: ${UID} matches user---"
usermod -u ${UID} ${USER}
echo "---Ensuring GID: ${GID} matches user---"
groupmod -g ${GID} ${USER} > /dev/null 2>&1 ||:
usermod -g ${GID} ${USER}
echo "---Setting umask to ${UMASK}---"
umask ${UMASK}
echo "---Checking for optional scripts---"
cp -f /opt/custom/user.sh /opt/scripts/start-user.sh > /dev/null 2>&1 ||:
cp -f /opt/scripts/user.sh /opt/scripts/start-user.sh > /dev/null 2>&1 ||:
if [ -f /opt/scripts/start-user.sh ]; then
echo "---Found optional script, executing---"
chmod -f +x /opt/scripts/start-user.sh ||:
/opt/scripts/start-user.sh || echo "---Optional Script has thrown an Error---"
else
echo "---No optional script found, continuing---"
fi
echo "---Checking configuration for noVNC---"
novnccheck
echo "---Starting cron---"
if [ -f /var/run/crond.pid ]; then
rm -rf /var/run/crond.pid
fi
export PATH=/bin:/usr/bin:${DATA_DIR}:$PATH
/usr/sbin/cron -- p
echo "---Taking ownership of data...---"
chown -R root:${GID} /opt/scripts
chmod -R 750 /opt/scripts
chown -R ${UID}:${GID} ${DATA_DIR}
echo "---Starting...---"
term_handler() {
if [ "${ROOT}" != "true" ]; then
su ${USER} -c 'export DISPLAY=:0; export XAUTHORITY=${DATA_DIR}/.Xauthority; export XDG_RUNTIME_DIR=/tmp/runtime-luckybackup; wmctrl -l | grep "luckyBackup" | awk "{print \$1}" | xargs -I {} wmctrl -ic {}'
else
export DISPLAY=:0; export XAUTHORITY=${DATA_DIR}/.Xauthority; export XDG_RUNTIME_DIR=/tmp/runtime-luckybackup; wmctrl -l | grep "luckyBackup" | awk "{print \$1}" | xargs -I {} wmctrl -ic {}
fi
sleep 2
tail --pid=$(pidof luckybackup) -f 2>/dev/null
exit 143;
}
trap 'kill ${!}; term_handler' SIGTERM
if [ "${ROOT}" != "true" ]; then
if [ -d /tmp/runtime-luckybackup ]; then
chown -R ${UID}:${GID} /tmp/runtime-luckybackup
fi
su ${USER} -c "/opt/scripts/start-server.sh" &
else
if [ ! -d ${DATA_DIR}/.luckyBackup ]; then
su ${USER} -c "/opt/scripts/init-root.sh"
exit 0
fi
if [ ! -d /root/.luckyBackup ]; then
mkdir -p /root/.luckyBackup
else
rm -rf /root/.luckyBackup
mkdir -p /root/.luckyBackup
fi
if [ -d /tmp/runtime-luckybackup ]; then
chown -R root:root /tmp/runtime-luckybackup
fi
if [ -f ${DATA_DIR}/.vnc/passwd ]; then
mkdir -p /root/.vnc 2 >/dev/null
cp ${DATA_DIR}/.vnc/passwd /root/.vnc/passwd
fi
ln -s ${DATA_DIR}/.luckyBackup/* /root/.luckyBackup/
/opt/scripts/start-server.sh &
fi
killpid="$!"
while true
do
wait $killpid
exit 0;
done