Skip to main content

Preinstall Binaries

Workers can have binaries preinstalled so that they can use them in subprocesses or in bash directly. npm, aws-cli, kubectl and helm are part of the standard images. To include more binaries, simply extend the base image of Windmill.

FROM ghcr.io/windmill-labs/windmill:main
# or FROM ghcr.io/windmill-labs/windmill-ee:main for extending ee

RUN apt-get update && apt install ....

CMD ["windmill"]

Puppeteer Exemple

FROM ghcr.io/windmill-labs/windmill-ee:main


RUN apt update
RUN apt install npm -y
RUN mkdir -p /etc/apt/keyrings
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
RUN apt-get update -y
RUN apt install nodejs libnss3-dev libatk1.0-0 libatk-bridge2.0-0 libcups2-dev libdrm-dev libxkbcommon-dev libxcomposite-dev libxdamage-dev libxrandr-dev\
libgbm-dev libpango-1.0 libcairo-dev libasound-dev -y
RUN npm install -g puppeteer -y

CMD ["windmill"]

Note: the above is using windmill-ee as base