Merge 8242ce42bcf4788b0add659aef8f22fe78b02ad6 into faee7c8f6a9fe85dcc4fb3c5ffacdde72668137f

This commit is contained in:
Matthew DeGarmo 2025-02-07 11:27:50 -05:00 committed by GitHub
commit 40d2fb57ce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 40 additions and 19 deletions

View File

@ -1,19 +1,21 @@
FROM maven:3-openjdk-11 as builder
WORKDIR /work
COPY ./ /work/
COPY . .
RUN mvn clean package
###
FROM openjdk:11
RUN useradd -r -u 1000 -g users qortal && \
mkdir /usr/local/qortal /qortal && \
mkdir /qortal && \
chown 1000:100 /qortal
COPY --from=builder /work/log4j2.properties /usr/local/qortal/
COPY --from=builder /work/target/qortal*.jar /usr/local/qortal/qortal.jar
COPY --from=builder /work/log4j2.properties /qortal/
COPY --from=builder /work/target/qortal*.jar /qortal/qortal.jar
COPY --from=builder /work/start.sh /qortal/
COPY --from=builder /work/settings.json /qortal/
USER 1000:100
EXPOSE 12391 12392
@ -22,5 +24,11 @@ HEALTHCHECK --start-period=5m CMD curl -sf http://127.0.0.1:12391/admin/info ||
WORKDIR /qortal
VOLUME /qortal
ENTRYPOINT ["java"]
CMD ["-Djava.net.preferIPv4Stack=false", "-jar", "/usr/local/qortal/qortal.jar"]
## ENTRYPOINT ["java"]
## CMD ["-Djava.net.preferIPv4Stack=false", "-jar", "/usr/local/qortal/qortal.jar"]
ENTRYPOINT ["/qortal/start.sh"]
CMD ["docker"]

View File

@ -2,10 +2,18 @@
# 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
echo "Please su to non-root user before running"
exit
fi
# If docker is passed, then we want to change the behavior of the script
# to change the log suppression
if [ "$1" = "docker" ]; then
DOCKER=true
fi
# Validate Java is installed and the minimum version is available
MIN_JAVA_VER='11'
@ -26,8 +34,8 @@ 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
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.
@ -45,12 +53,17 @@ JVM_MEMORY_ARGS="-XX:MaxRAMPercentage=50 -XX:+UseG1GC -Xss1024k"
# 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.
nohup nice -n 20 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 $!
if [ "$DOCKER" = true ]; then
java -Djava.net.preferIPv4Stack=false $JVM_MEMORY_ARGS -jar qortal.jar
else
nohup nice -n 20 java \
-Djava.net.preferIPv4Stack=false \
${JVM_MEMORY_ARGS} \
-jar qortal.jar
# Save backgrounded process's PID
echo $! > run.pid
echo qortal running as pid $!
fi