From 4546c65d49fd482cbd679dcefb5cab7921821a3f Mon Sep 17 00:00:00 2001
From: crowetic <5431064+crowetic@users.noreply.github.com>
Date: Mon, 7 Mar 2022 11:29:55 -0800
Subject: [PATCH] start script for titan image

Memory arg modification to 1024 2048, and removal of nohup and nice.
---
 start(titan).sh | 50 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 start(titan).sh

diff --git a/start(titan).sh b/start(titan).sh
new file mode 100644
index 0000000..b751877
--- /dev/null
+++ b/start(titan).sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# There's no need to run as root, so don't allow it, for security reasons
+if [ "$USER" = "root" ]; then
+	echo "Please su to non-root user before running"
+	exit
+fi
+
+# Validate Java is installed and the minimum version is available
+MIN_JAVA_VER='11'
+
+if command -v java > /dev/null 2>&1; then
+    # Example: openjdk version "11.0.6" 2020-01-14
+    version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}' | cut -d'.' -f1,2)
+    if echo "${version}" "${MIN_JAVA_VER}" | awk '{ if ($2 > 0 && $1 >= $2) exit 0; else exit 1}'; then
+        echo 'Passed Java version check'
+    else
+        echo "Please upgrade your Java to version ${MIN_JAVA_VER} or greater"
+        exit 1
+    fi
+else
+  echo "Java is not available, please install Java ${MIN_JAVA_VER} or greater"
+  exit 1
+fi
+
+# No qortal.jar but we have a Maven built one?
+# Be helpful and copy across to correct location
+if [ ! -e qortal.jar -a -f target/qortal*.jar ]; then
+	echo "Copying Maven-built Qortal JAR to correct pathname"
+	cp target/qortal*.jar qortal.jar
+fi
+
+# Limits Java JVM stack size and maximum heap usage.
+# Comment out for bigger systems, e.g. non-routers
+# or when API documentation is enabled
+JVM_MEMORY_ARGS="-Xss1024k -Xmx2048m"
+
+# Although java.net.preferIPv4Stack is supposed to be false
+# by default in Java 11, on some platforms (e.g. FreeBSD 12),
+# it is overridden to be true by default. Hence we explicitly
+# set it to false to obtain desired behaviour.
+java \
+	-Djava.net.preferIPv4Stack=false \
+	${JVM_MEMORY_ARGS} \
+	-jar qortal.jar \
+	1>run.log 2>&1 &
+
+# Save backgrounded process's PID
+echo $! > run.pid
+echo qortal running as pid $!