|
@@ -9,7 +9,22 @@ echo "tPSGI running as user $USERNAME"
|
|
|
|
|
|
|
|
[[ -e run/tpsgi.pid ]] && sudo pkill -F run/tpsgi.pid
|
|
[[ -e run/tpsgi.pid ]] && sudo pkill -F run/tpsgi.pid
|
|
|
|
|
|
|
|
-# We should obey the PATH set by this user, whose homedir is right here, ideally.
|
|
|
|
|
|
|
+# Bind the various dirs we need for chroot to work
|
|
|
|
|
+readarray -t BIND_DIRS <<< $(bin/tpsgi-config --binds)
|
|
|
|
|
+for bind in "${BIND_DIRS[@]}"; do
|
|
|
|
|
+ bn=$(basename $bind)
|
|
|
|
|
+ to_bind=$(pwd)/$bn;
|
|
|
|
|
+ if [[ -d $bind ]]; then
|
|
|
|
|
+ echo "Bind $bind to $to_bind";
|
|
|
|
|
+ mkdir -p $to_bind;
|
|
|
|
|
+ [[ ! $(mountpoint -q $to_bind) ]] && mount --bind $bind $to_bind
|
|
|
|
|
+ else
|
|
|
|
|
+ echo "Refusing to bind nonexistant mountpoint $bind to $bn!"
|
|
|
|
|
+ exit 1;
|
|
|
|
|
+ fi;
|
|
|
|
|
+done
|
|
|
|
|
+
|
|
|
|
|
+# We should obey the PATH set by this user, whose homedir is right here, ideally.
|
|
|
bin/tpsgi --listen run/tpsgi.sock --workers 20 --user "$USERNAME" --daemonize --pid run/tpsgi.pid --chroot $(pwd)
|
|
bin/tpsgi --listen run/tpsgi.sock --workers 20 --user "$USERNAME" --daemonize --pid run/tpsgi.pid --chroot $(pwd)
|
|
|
|
|
|
|
|
# Wait until the socket file is ready
|
|
# Wait until the socket file is ready
|