| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:d938ff3d4eee15d8600de84bf85eac6ecd0f20bc92dfe305dafbff0bdc974c0f in / |
| CMD ["/bin/bash"] |
| ENV APP_UID=1654 ASPNETCORE_HTTP_PORTS=8080 DOTNET_RUNNING_IN_CONTAINER=true |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates libc6 libgcc-s1 libicu74 libssl3t64 libstdc++6 tzdata tzdata-legacy && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c groupadd --gid=$APP_UID app && useradd --no-log-init --uid=$APP_UID --gid=$APP_UID --create-home app # buildkit |
| ENV DOTNET_VERSION=10.0.10 |
| COPY /dotnet /usr/share/dotnet # buildkit |
| RUN /bin/sh -c ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet # buildkit |
| ENV ASPNET_VERSION=10.0.10 |
| COPY /dotnet /usr/share/dotnet # buildkit |
| USER root |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends curl ca-certificates gnupg python3 xz-utils && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y --no-install-recommends nodejs && rm -rf /var/lib/apt/lists/* && test -x /usr/bin/python3 && /usr/bin/python3 --version && test -x /usr/bin/node && /usr/bin/node --version # buildkit |
| ARG WASI_SDK_TAG=wasi-sdk-25 |
| ARG WASI_SDK_NAME=wasi-sdk-25.0 |
| ARG WASMTIME_VERSION=v27.0.0 |
| USER root |
| RUN |3 WASI_SDK_TAG=wasi-sdk-25 WASI_SDK_NAME=wasi-sdk-25.0 WASMTIME_VERSION=v27.0.0 /bin/sh -c ARCH=$(uname -m) && case "$ARCH" in x86_64) WASI_ARCH=x86_64; WASMTIME_ARCH=x86_64 ;; aarch64) WASI_ARCH=arm64; WASMTIME_ARCH=aarch64 ;; *) echo "Unsupported arch for wasi-sdk / wasmtime: $ARCH"; exit 1 ;; esac && curl -fsSL -o /tmp/wasi-sdk.tar.gz "https://github.com/WebAssembly/wasi-sdk/releases/download/${WASI_SDK_TAG}/${WASI_SDK_NAME}-${WASI_ARCH}-linux.tar.gz" && tar -xzf /tmp/wasi-sdk.tar.gz -C /opt && mv "/opt/${WASI_SDK_NAME}-${WASI_ARCH}-linux" /opt/wasi-sdk && rm /tmp/wasi-sdk.tar.gz && curl -fsSL -o /tmp/wasmtime.tar.xz "https://github.com/bytecodealliance/wasmtime/releases/download/${WASMTIME_VERSION}/wasmtime-${WASMTIME_VERSION}-${WASMTIME_ARCH}-linux.tar.xz" && tar -xJf /tmp/wasmtime.tar.xz -C /opt && mv "/opt/wasmtime-${WASMTIME_VERSION}-${WASMTIME_ARCH}-linux" /opt/wasmtime && rm /tmp/wasmtime.tar.xz && test -x /opt/wasi-sdk/bin/clang && /opt/wasi-sdk/bin/clang --version && test -x /opt/wasi-sdk/bin/clang++ && /opt/wasi-sdk/bin/clang++ --version && test -x /opt/wasmtime/wasmtime && /opt/wasmtime/wasmtime --version # buildkit |
| USER 1654 |
| WORKDIR /app |
| EXPOSE map[8080/tcp:{}] |
| ENV CodeExecution__PythonExecutable=/usr/bin/python3 |
| ENV CodeExecution__NodeExecutable=/usr/bin/node |
| ENV CodeExecution__ClangExecutable=/opt/wasi-sdk/bin/clang |
| ENV CodeExecution__ClangCppExecutable=/opt/wasi-sdk/bin/clang++ |
| ENV CodeExecution__WasmtimeExecutable=/opt/wasmtime/wasmtime |
| ENV CodeExecution__WasiSysroot=/opt/wasi-sdk/share/wasi-sysroot |
| WORKDIR /app |
| COPY /app/publish . # buildkit |
| ENTRYPOINT ["dotnet" "SpikerSoft.EventHandlers.CodeExecution.dll"] |