| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:8ce1caf246e7c778bca84c516d02fd4e83766bb2c530a0fffa8a351b560a2728 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 Dev 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 apt-get update && apt-get install -y curl unzip git libsodium-dev tree less wget net-tools bash procps telnet # buildkit |
| ADD sbt/sbt-1.11.7.tgz /opt/ # 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/ # 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 |
| COPY entrypoint.dev.sh /docker-entrypoint.sh # buildkit |
| RUN /bin/sh -c chmod ugo+x /docker-entrypoint.sh # buildkit |
| ENTRYPOINT ["/docker-entrypoint.sh"] |
| ENV PLAY_HEAP_MEMORY_MB=2048 |
| CMD ["/bin/sh" "-c" "cd /opt/talkyard/app/ && exec /opt/sbt/bin/sbt --mem $PLAY_HEAP_MEMORY_MB -J-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:9999 -J-Xss30m -Duser.home=/home/owner -Djava.security.egd=file:/dev/./urandom -Dcom.sun.management.jmxremote.port=3333 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -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 -Dlogback.configurationFile=/opt/talkyard/app/conf/logback.xml -Dlog4j2.formatMsgNoLookups=true -Dconfig.file=/opt/talkyard/app/conf/app-dev.conf run"] |