Files
dhfs/run-wrapper/run

59 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
set -u
set -o pipefail
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
PIDFILE="$SCRIPT_DIR"/.pid
EXTRAOPTS="$SCRIPT_DIR"/extra-opts
if [ ! -f "$EXTRAOPTS" ]; then
touch "$EXTRAOPTS"
fi
if [ -f "$PIDFILE" ]; then
if kill -0 $(cat "$PIDFILE") >/dev/null; then
echo "Already running: "$(cat "$PIDFILE")
exit 2
fi
fi
EXTRAOPTS_PARSED="$(tr '\n\r' ' ' <"$EXTRAOPTS")"
echo "Extra options: $EXTRAOPTS_PARSED"
if [ -n "${JAVA_HOME:-}" ]; then
JAVA_EXEC="$JAVA_HOME/bin/java"
else
JAVA_EXEC="java"
fi
if ! command -v "$JAVA_EXEC"; then
echo "Java not found"
exit 1
fi
"$JAVA_EXEC" \
-Xmx512M \
--enable-preview \
-Ddhfs.objects.writeback.limit=134217728 \
-Ddhfs.objects.lru.limit=134217728 \
--add-exports java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports java.base/jdk.internal.access=ALL-UNNAMED \
--add-opens=java.base/java.nio=ALL-UNNAMED \
-Ddhfs.objects.persistence.files.root="$SCRIPT_DIR"/../data/objects \
-Ddhfs.objects.persistence.stuff.root="$SCRIPT_DIR"/../data/stuff \
-Ddhfs.fuse.root="$SCRIPT_DIR"/../fuse \
-Dquarkus.http.host=0.0.0.0 \
-Dquarkus.log.category.\"com.usatiuk\".level=INFO \
-Dquarkus.log.category.\"com.usatiuk.dhfs\".level=INFO \
-Ddhfs.webui.root="$SCRIPT_DIR"/Webui $EXTRAOPTS_PARSED \
-jar "$SCRIPT_DIR"/"Server"/quarkus-run.jar >quarkus.log 2>&1 &
echo "Started $!"
echo $! >"$PIDFILE"
disown