mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-18 16:02:10 +00:00
ed61d97700
* feat: rust incremental compilation * update dockerfiles * fix compilation error * add windows flags * init * polishing * update * return mount-point * Update backend/windmill-worker/src/rust_executor.rs Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * share worker dir if nsjail off * final refactor --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
75 lines
2.5 KiB
Plaintext
75 lines
2.5 KiB
Plaintext
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
|
|
COPY --from=bitnami/dotnet-sdk:9.0.101-debian-12-r0 /opt/bitnami/dotnet-sdk /opt/dotnet-sdk
|
|
RUN ln -s /opt/dotnet-sdk/bin/dotnet /usr/bin/dotnet
|
|
ENV DOTNET_ROOT="/opt/dotnet-sdk/bin"
|
|
|
|
# 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
|
|
|
|
COPY --from=nsjail /nsjail/nsjail /bin/nsjail
|
|
|