Files
docker-gpodder/scripts/start-server.sh

62 lines
1.8 KiB
Bash

#!/bin/bash
export DISPLAY=:99
export XDG_RUNTIME_DIR=/tmp/xdg
export XAUTHORITY=${DATA_DIR}/.Xauthority
echo "---Resolution check---"
if [ -z "${CUSTOM_RES_W} ]; then
CUSTOM_RES_W=1024
fi
if [ -z "${CUSTOM_RES_H} ]; then
CUSTOM_RES_H=768
fi
if [ "${CUSTOM_RES_W}" -le 1023 ]; then
echo "---Width to low must be a minimal of 1024 pixels, correcting to 1024...---"
CUSTOM_RES_W=1024
fi
if [ "${CUSTOM_RES_H}" -le 767 ]; then
echo "---Height to low must be a minimal of 768 pixels, correcting to 768...---"
CUSTOM_RES_H=768
fi
if [ -z ${GPODDER_DOWNLOAD_DIR} ]; then
echo "---The variable 'GPODDER_DOWNLOAD_DIR' can't be empty, putting container into sleep mode!---"
sleep infinity
elif [ ! -d ${GPODDER_DOWNLOAD_DIR} ]; then
mkdir -p ${GPODDER_DOWNLOAD_DIR}
fi
echo "---Checking for old logfiles---"
rm -rf /tmp/.X0*
rm -rf /tmp/.X11*
rm -rf ${DATA_DIR}/.vnc/*.log ${DATA_DIR}/.vnc/*.pid
chmod -R ${DATA_PERM} ${DATA_DIR}
if [ -f ${DATA_DIR}/.vnc/passwd ]; then
chmod 600 ${DATA_DIR}/.vnc/passwd
fi
screen -wipe 2&>/dev/null
find /var/run/dbus -name "pid" -exec rm -f {} \;
echo "---Starting dbus service---"
if dbus-daemon --config-file=/usr/share/dbus-1/system.conf ; then
echo "---dbus service started---"
else
echo "---Couldn't start dbus service---"
# sleep infinity
fi
sleep 2
echo "---Starting TurboVNC server---"
vncserver -geometry ${CUSTOM_RES_W}x${CUSTOM_RES_H} -depth ${CUSTOM_DEPTH} ${DISPLAY} -rfbport ${RFB_PORT} -noxstartup -noserverkeymap ${TURBOVNC_PARAMS} 2>/dev/null
sleep 2
echo "---Starting Fluxbox---"
screen -d -m env HOME=/etc /usr/bin/fluxbox
sleep 2
echo "---Starting noVNC server---"
websockify -D --web=/usr/share/novnc/ --cert=/etc/ssl/novnc.pem ${NOVNC_PORT} localhost:${RFB_PORT}
sleep 2
echo "---Starting gPodder---"
cd ${DATA_DIR}
dbus-run-session /opt/gpodder/bin/gpodder 2>/dev/null