ufe commited on
Commit
12b9daa
1 Parent(s): 6a32131

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +57 -0
Dockerfile ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用 denoland/deno:debian 作为基础镜像
2
+ FROM denoland/deno:debian
3
+
4
+ # 设置环境变量
5
+ ENV DEBIAN_FRONTEND=noninteractive
6
+
7
+ # 更新包列表并安装必要的工具
8
+ RUN apt-get update && \
9
+ apt-get install -y \
10
+ curl \
11
+ wget \
12
+ git \
13
+ build-essential \
14
+ libssl-dev \
15
+ libffi-dev \
16
+ python3-pip \
17
+ python3-venv
18
+
19
+ # 确保 deno 在 /usr/bin/deno
20
+ RUN ln -s /usr/local/bin/deno /usr/bin/deno
21
+
22
+ # 安装最新版本的 Python 并确保在 /usr/local/bin/python3
23
+ RUN apt-get install -y python3 python3-pip python3-venv
24
+ RUN ln -s /usr/bin/python3 /usr/local/bin/python3
25
+
26
+ # 安装最新版本的 Go 并确保在 /usr/bin/go
27
+ RUN wget https://golang.org/dl/go1.18.3.linux-amd64.tar.gz -O /tmp/golang.tar.gz && \
28
+ tar -C /usr/local -xzf /tmp/golang.tar.gz && \
29
+ rm /tmp/golang.tar.gz
30
+ RUN ln -s /usr/local/go/bin/go /usr/bin/go
31
+
32
+ # 设置 Go 的环境变量
33
+ ENV PATH="/usr/local/go/bin:${PATH}"
34
+
35
+ # 安装 Windmill
36
+ RUN mkdir -p /opt/windmill
37
+ WORKDIR /opt/windmill
38
+
39
+ # 下载 Windmill 二进制文件
40
+ 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)}') && \
41
+ wget https://github.com/windmill-labs/windmill/releases/download/${LATEST_RELEASE}/windmill-amd64 -O windmill && \
42
+ chmod +x windmill
43
+
44
+ # 创建配置文件和数据目录
45
+ RUN mkdir -p /etc/windmill /var/lib/windmill
46
+
47
+ # 配置环境变量
48
+ ENV DATABASE_URL="postgresql://user:password@localhost:5432/windmill"
49
+ ENV BASE_URL="http://localhost:8000"
50
+ ENV MODE="standalone"
51
+ ENV SCRIPT_TOKEN_EXPIRY="900"
52
+
53
+ # 暴露 Windmill 的端口
54
+ EXPOSE 8000
55
+
56
+ # 运行 Windmill
57
+ CMD ["./windmill", "--mode", "standalone"]