FROM debian:bookworm-slim AS nsjail WORKDIR /nsjail RUN apt-get -y update \ && apt-get install -y \ bison=2:3.8.* \ flex=2.6.* \ g++=4:12.2.* \ gcc=4:12.2.* \ git=1:2.39.* \ libprotobuf-dev=3.21.* \ libnl-route-3-dev=3.7.* \ make=4.3-4.1 \ pkg-config=1.8.* \ protobuf-compiler=3.21.* RUN git clone -b master --single-branch https://github.com/google/nsjail.git . && git checkout dccf911fd2659e7b08ce9507c25b2b38ec2c5800 RUN make FROM alpine:3.14 AS oracledb-client ARG TARGETPLATFORM # Oracle DB Client for amd64 COPY --from=ghcr.io/oracle/oraclelinux9-instantclient:23 /usr/lib/oracle/23/client64/lib /opt/oracle/23/amd64/lib # Oracle DB Client for arm64 RUN mkdir -p /opt/oracle/23/arm64 \ && cd /opt/oracle/23/arm64 \ && wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linux-arm64.zip \ && unzip instantclient-basiclite-linux-arm64.zip && rm instantclient-basiclite-linux-arm64.zip && mv instantclient* ./lib RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ mv /opt/oracle/23/arm64/lib /opt/oracle/23/lib; \ else \ mv /opt/oracle/23/amd64/lib /opt/oracle/23/lib; \ fi FROM ghcr.io/windmill-labs/windmill-ee:dev RUN apt-get update && apt-get install -y libprotobuf-dev libnl-route-3-dev # Rust COPY --from=rust:1.80.1 /usr/local/cargo /usr/local/cargo COPY --from=rust:1.80.1 /usr/local/rustup /usr/local/rustup RUN /usr/local/cargo/bin/cargo install cargo-sweep --version ^0.7 # Ansible RUN uv tool install ansible && [ -d "$(uv tool dir)/ansible/bin/" ] && find "$(uv tool dir)/ansible/bin/" -mindepth 1 -maxdepth 1 -type f -executable -regextype posix-extended -regex '^((.+/)?)[^.]+' -print0 | xargs -0 ln -s -t "$UV_TOOL_BIN_DIR/" || true # dotnet SDK RUN wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh \ && chmod +x dotnet-install.sh \ && ./dotnet-install.sh --channel 9.0 --install-dir /usr/share/dotnet \ && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \ && rm dotnet-install.sh # Oracle DB Client COPY --from=oracledb-client /opt/oracle/23/lib /opt/oracle/23/lib RUN apt-get -y update && apt-get install -y libaio1 RUN echo /opt/oracle/23/lib > /etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig # Nushell COPY --from=ghcr.io/nushell/nushell:0.101.0-bookworm /usr/bin/nu /usr/bin/nu # Java RUN apt-get install -y default-jdk RUN curl -fLo coursier https://github.com/coursier/coursier/releases/download/v2.1.24/coursier \ && mv ./coursier /usr/bin/coursier \ && chmod +x /usr/bin/coursier RUN /usr/bin/java -jar /usr/bin/coursier about # Ruby RUN apt-get install -y ruby ruby-bundler # iptables RUN apt-get install -y iptables COPY --from=nsjail /nsjail/nsjail /bin/nsjail