mirror of
https://github.com/Qortal/qortal.git
synced 2025-03-31 01:15:52 +00:00
Merge 8242ce42bcf4788b0add659aef8f22fe78b02ad6 into faee7c8f6a9fe85dcc4fb3c5ffacdde72668137f
This commit is contained in:
commit
40d2fb57ce
22
Dockerfile
22
Dockerfile
@ -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"]
|
||||
|
||||
|
||||
|
||||
|
37
start.sh
37
start.sh
@ -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
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user