talkyard-app (sha256:ccd3e724b821fe47a41c05c6526d64dc8de252991ea5c940a79895cea12517a1)

Published 2026-07-19 23:42:47 +00:00 by ivan

Installation

docker pull forgejo.ivanthegeek.com/ivan/talkyard-app@sha256:ccd3e724b821fe47a41c05c6526d64dc8de252991ea5c940a79895cea12517a1
sha256:ccd3e724b821fe47a41c05c6526d64dc8de252991ea5c940a79895cea12517a1

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.version=24.04
ADD file:c98b7645109cdf61ab97492b90629581b1b7cb925b9d58a5787a4aaeb719f2be in /
CMD ["/bin/bash"]
ENV JAVA_HOME=/opt/java/openjdk
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl wget gnupg fontconfig ca-certificates p11-kit tzdata locales ; echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; locale-gen en_US.UTF-8; rm -rf /var/lib/apt/lists/* # buildkit
ENV JAVA_VERSION=jdk-11.0.30+7
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='1911fa4010d59985d4cba9f4295c704ae64d08dfc3c2d5747bbc18655b1e911a'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.30%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.30_7.tar.gz'; ;; arm64) ESUM='3c8fb6754deced4e08a03524b6af1df4f3df451f1832f3dcd3a6848fd54b8d08'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.30%2B7/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.30_7.tar.gz'; ;; armhf) ESUM='1ef020c2215f3169c7610df573581806c58f00a0a1d512fd945a2687cbed1173'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.30%2B7/OpenJDK11U-jdk_arm_linux_hotspot_11.0.30_7.tar.gz'; ;; ppc64el) ESUM='6ef8f74f92b1d8723392cb6b90351e5f8fb0f94c29c351b5b407bdf46f9af76c'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.30%2B7/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.30_7.tar.gz'; ;; s390x) ESUM='79869c9f79e22266efcb3e086bcb9bbd8d58605693f742e5785f215c0fa249ab'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.30%2B7/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.30_7.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget --progress=dot:giga -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz ${JAVA_HOME}/lib/src.zip; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; # buildkit
RUN /bin/sh -c set -eux; echo "Verifying install ..."; fileEncoding="$(echo 'System.out.println(System.getProperty("file.encoding"))' | jshell -s -)"; [ "$fileEncoding" = 'UTF-8' ]; rm -rf ~/.java; echo "javac --version"; javac --version; echo "java --version"; java --version; echo "Complete." # buildkit
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
ENTRYPOINT ["/__cacert_entrypoint.sh"]
CMD ["jshell"]
LABEL org.opencontainers.image.title=Talkyard App io.talkyard.edition=se io.talkyard.epoch=1
COPY /usr/local/cargo/bin/sqlx /usr/local/bin/sqlx # buildkit
RUN /bin/sh -c touch /var/mail/ubuntu && chown ubuntu /var/mail/ubuntu && userdel -r ubuntu # buildkit
RUN /bin/sh -c groupadd --gid 1000 appgroup && useradd --uid 1000 --no-create-home --shell /usr/sbin/nologin --system --gid appgroup appuser # buildkit
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gosu curl tree less wget net-tools bash procps libsodium-dev telnet && rm -rf /var/lib/apt/lists/* # buildkit
EXPOSE [3333/tcp 9000/tcp 9443/tcp 9999/tcp]
RUN /bin/sh -c mkdir -p /var/talkyard/v1/pub-files/ && mkdir -p /var/talkyard/v1/priv-files/ && chown appuser:appgroup /var/talkyard/v1/pub-files/ && chown appuser:appgroup /var/talkyard/v1/priv-files/ # buildkit
COPY /dist-app /opt/talkyard/app # buildkit
COPY /dist-lib-talkyard /opt/talkyard/app/lib/ # buildkit
COPY /dist-bin /opt/talkyard/app/bin/ # buildkit
COPY /dist-conf/app-prod.conf /opt/talkyard/app/conf/ # buildkit
COPY /dist-conf/logback-prod.xml /opt/talkyard/app/conf/ # buildkit
COPY images/app/migrations /opt/talkyard/app/migrations/ # buildkit
COPY version.txt /opt/talkyard/app/ # buildkit
COPY target/build-info /opt/talkyard/build-info/ # buildkit
COPY images/app/assets /opt/talkyard/app/assets # buildkit
ENV PLAY_HEAP_MEMORY_MB=1024
ENV CONFIG_FILE=/opt/talkyard/app/conf/app-prod.conf
RUN /bin/sh -c mkdir -p /opt/talkyard/app/target/dev-mode && chown -R appuser:appgroup /opt/talkyard/app/target/dev-mode # buildkit
WORKDIR /opt/talkyard/app
RUN /bin/sh -c sed --in-place 's#^PATH="#PATH="/opt/java/openjdk/bin:#' /etc/environment && echo 'JAVA_HOME=/opt/java/openjdk\n' >> /etc/environment # buildkit
HEALTHCHECK {Test:[CMD-SHELL curl --fail --silent --show-error --noproxy '*' http://localhost:9000/-/ping-exception-action || exit 1] Interval:45s Timeout:30s StartPeriod:3m0s StartInterval:3s Retries:5}
COPY images/app/entrypoint.prod.sh images/app/chown-postgres_password.sh /ty/ # buildkit
ENTRYPOINT ["/ty/entrypoint.prod.sh"]
CMD ["/bin/sh" "-c" "exec /opt/talkyard/app/bin/talkyard-server -J-Xms${PLAY_HEAP_MEMORY_MB}m -J-Xmx${PLAY_HEAP_MEMORY_MB}m -Dhttp.port=9000 -Dhttps.port=disabled -Dhttps.protocols=TLSv1.3,TLSv1.2 -Djdk.tls.client.protocols=TLSv1.3,TLSv1.2 -Dmail.smtp.proxy.host=egressp -Dmail.smtp.proxy.port=4750 -Dhttp.proxyHost=egressp -Dhttp.proxyPort=4750 -Dhttps.proxyHost=egressp -Dhttps.proxyPort=4750 -Djava.security.egd=file:/dev/./urandom -Dlog4j2.formatMsgNoLookups=true -Dlogback.configurationFile=/opt/talkyard/app/conf/logback-prod.xml -Dconfig.file=${CONFIG_FILE}"]

Labels

Key Value
io.talkyard.edition se
io.talkyard.epoch 1
org.opencontainers.image.title Talkyard App
org.opencontainers.image.version 24.04
Details
Container
2026-07-19 23:42:47 +00:00
1
OCI / Docker
linux/arm64
267 MiB
Versions (2) View all