|
|
|
FROM denoland/deno:debian |
|
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive |
|
|
|
|
|
RUN apt-get update && \ |
|
apt-get install -y \ |
|
curl \ |
|
wget \ |
|
git \ |
|
build-essential \ |
|
libssl-dev \ |
|
libffi-dev \ |
|
python3 \ |
|
python3-pip \ |
|
python3-venv \ |
|
nodejs \ |
|
npm \ |
|
clang \ |
|
libclang-dev \ |
|
cmake |
|
|
|
|
|
|
|
RUN ln -s /usr/bin/python3 /usr/local/bin/python3 |
|
RUN ln -s /usr/bin/pip3 /usr/local/bin/pip3 |
|
RUN /usr/local/bin/python3 -m pip config set global.break-system-packages true |
|
|
|
RUN /usr/local/bin/python3 -m pip install pip-tools |
|
RUN npm install -g bun |
|
RUN ln -s /usr/local/bin/bun /usr/bin/bun |
|
|
|
|
|
RUN wget https://golang.org/dl/go1.18.3.linux-amd64.tar.gz -O /tmp/golang.tar.gz && \ |
|
tar -C /usr/local -xzf /tmp/golang.tar.gz && \ |
|
rm /tmp/golang.tar.gz |
|
RUN ln -s /usr/local/go/bin/go /usr/bin/go |
|
|
|
|
|
ENV PATH="/usr/local/go/bin:${PATH}" |
|
|
|
|
|
RUN mkdir -p /etc/windmill /var/lib/windmill /.cache |
|
RUN chown -R 1000:1000 /.cache |
|
|
|
|
|
RUN groupadd -g 1000 myuser && \ |
|
useradd -u 1000 -g myuser -m -s /bin/bash myuser |
|
|
|
USER myuser |
|
WORKDIR /home/myuser |
|
|
|
|
|
RUN LATEST_RELEASE=$(curl -s https://api.github.com/repos/windmill-labs/windmill/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') && \ |
|
wget https://github.com/windmill-labs/windmill/releases/download/${LATEST_RELEASE}/windmill-amd64 -O windmill && \ |
|
chmod +x windmill |
|
|
|
|
|
ENV DATABASE_URL="postgresql://user:password@localhost:5432/windmill" |
|
ENV BASE_URL="http://localhost:8000" |
|
ENV MODE="standalone" |
|
ENV SCRIPT_TOKEN_EXPIRY="900" |
|
|
|
|
|
EXPOSE 8000 |
|
|
|
|
|
CMD ["./windmill", "--mode", "standalone"] |