mirror of
https://github.com/Qortal/qortal.git
synced 2025-04-01 17:55:54 +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
|
FROM maven:3-openjdk-11 as builder
|
||||||
|
|
||||||
|
|
||||||
WORKDIR /work
|
WORKDIR /work
|
||||||
COPY ./ /work/
|
COPY . .
|
||||||
RUN mvn clean package
|
RUN mvn clean package
|
||||||
|
|
||||||
###
|
###
|
||||||
FROM openjdk:11
|
FROM openjdk:11
|
||||||
|
|
||||||
RUN useradd -r -u 1000 -g users qortal && \
|
RUN useradd -r -u 1000 -g users qortal && \
|
||||||
mkdir /usr/local/qortal /qortal && \
|
mkdir /qortal && \
|
||||||
chown 1000:100 /qortal
|
chown 1000:100 /qortal
|
||||||
|
|
||||||
COPY --from=builder /work/log4j2.properties /usr/local/qortal/
|
COPY --from=builder /work/log4j2.properties /qortal/
|
||||||
COPY --from=builder /work/target/qortal*.jar /usr/local/qortal/qortal.jar
|
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
|
USER 1000:100
|
||||||
|
|
||||||
EXPOSE 12391 12392
|
EXPOSE 12391 12392
|
||||||
@ -22,5 +24,11 @@ HEALTHCHECK --start-period=5m CMD curl -sf http://127.0.0.1:12391/admin/info ||
|
|||||||
WORKDIR /qortal
|
WORKDIR /qortal
|
||||||
VOLUME /qortal
|
VOLUME /qortal
|
||||||
|
|
||||||
ENTRYPOINT ["java"]
|
## ENTRYPOINT ["java"]
|
||||||
CMD ["-Djava.net.preferIPv4Stack=false", "-jar", "/usr/local/qortal/qortal.jar"]
|
## 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
|
# There's no need to run as root, so don't allow it, for security reasons
|
||||||
if [ "$USER" = "root" ]; then
|
if [ "$USER" = "root" ]; then
|
||||||
echo "Please su to non-root user before running"
|
echo "Please su to non-root user before running"
|
||||||
exit
|
exit
|
||||||
fi
|
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
|
# Validate Java is installed and the minimum version is available
|
||||||
MIN_JAVA_VER='11'
|
MIN_JAVA_VER='11'
|
||||||
|
|
||||||
@ -26,8 +34,8 @@ fi
|
|||||||
# No qortal.jar but we have a Maven built one?
|
# No qortal.jar but we have a Maven built one?
|
||||||
# Be helpful and copy across to correct location
|
# Be helpful and copy across to correct location
|
||||||
if [ ! -e qortal.jar -a -f target/qortal*.jar ]; then
|
if [ ! -e qortal.jar -a -f target/qortal*.jar ]; then
|
||||||
echo "Copying Maven-built Qortal JAR to correct pathname"
|
echo "Copying Maven-built Qortal JAR to correct pathname"
|
||||||
cp target/qortal*.jar qortal.jar
|
cp target/qortal*.jar qortal.jar
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Limits Java JVM stack size and maximum heap usage.
|
# 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),
|
# by default in Java 11, on some platforms (e.g. FreeBSD 12),
|
||||||
# it is overridden to be true by default. Hence we explicitly
|
# it is overridden to be true by default. Hence we explicitly
|
||||||
# set it to false to obtain desired behaviour.
|
# 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
|
if [ "$DOCKER" = true ]; then
|
||||||
echo $! > run.pid
|
java -Djava.net.preferIPv4Stack=false $JVM_MEMORY_ARGS -jar qortal.jar
|
||||||
echo qortal running as pid $!
|
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