Files

35 lines
2.0 KiB
Docker

# Local candidate; no registry publication is implied. Package adapter derived
# selectively from PR164 revision 4cc625e4d1aebe57fece3ef5bb8e70f40b372732.
# The guarded entrypoint/settings reader are Archipelago's qualified snapshot
# implementation, not the proposal's mutable-file validator or generic reader.
FROM docker.io/library/eclipse-temurin:17-jre@sha256:e04fa72be13b257a59fdec6dc14af78c8f80f035d3c1ed4e03e45552a231d4c8
ARG QORTAL_VERSION=6.1.9
ARG QORTAL_SHA256=a5fbe763645a53995565c9cb93491e024384431ee29eee38a4146b6a13ed2e87
ARG QORTAL_LOGGING_SHA256=3aa4383ef01cdac91407e6c58fbb28b108bbc536e2d8ca37862c207d67167590
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends curl ca-certificates nginx python3; \
rm -rf /var/lib/apt/lists/*; \
mkdir -p /usr/local/qortal /qortal; \
curl -fsSL -o /usr/local/qortal/qortal.jar \
"https://github.com/Qortal/qortal/releases/download/v${QORTAL_VERSION}/qortal.jar"; \
echo "${QORTAL_SHA256} /usr/local/qortal/qortal.jar" | sha256sum -c -; \
curl -fsSL -o /usr/local/qortal/log4j2.properties \
"https://raw.githubusercontent.com/Qortal/qortal/v${QORTAL_VERSION}/log4j2.properties"; \
echo "${QORTAL_LOGGING_SHA256} /usr/local/qortal/log4j2.properties" | sha256sum -c -; \
chown 1000:100 /qortal
COPY ui/nginx.conf /etc/qortal-ui/nginx.conf
COPY ui/index.html ui/qortal.png /usr/share/qortal-ui/
COPY start.sh /usr/local/bin/qortal-start
COPY health.sh /usr/local/bin/qortal-health
COPY check-settings.py /usr/local/bin/qortal-check-settings
COPY prepare-runtime-jar.py /usr/local/bin/qortal-prepare-runtime-jar.py
COPY empty-cache-overlay-contract.json /usr/local/qortal/empty-cache-overlay-contract.json
RUN mkdir -p /usr/local/qortal/empty-cache && \
chmod 0755 /usr/local/bin/qortal-start /usr/local/bin/qortal-health \
/usr/local/bin/qortal-prepare-runtime-jar.py
USER 1000:100
WORKDIR /qortal
EXPOSE 12390 12391 12392 12394 12380
ENTRYPOINT ["/usr/local/bin/qortal-start"]