g2i commited on
Commit
e412435
·
verified ·
1 Parent(s): dd079be

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +40 -0
Dockerfile ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用官方 Deno 镜像作为构建阶段
2
+ FROM denoland/deno:alpine as builder
3
+
4
+ # 安装 git (alpine 使用 apk)
5
+ RUN apk add --no-cache git
6
+
7
+ # 克隆代码库
8
+ RUN git clone https://github.com/eraycc/Openai-API-Message-Audit-Proxy.git /app
9
+
10
+ # 设置工作目录
11
+ WORKDIR /app
12
+
13
+ # 缓存依赖 (提前执行以减少构建时间)
14
+ RUN deno cache main.ts
15
+
16
+ # 最终阶段 - 使用更小的基础镜像
17
+ FROM denoland/deno:alpine
18
+
19
+ # 从构建阶段复制文件
20
+ COPY --from=builder /app /app
21
+
22
+ # 设置工作目录
23
+ WORKDIR /app
24
+
25
+ # 暴露端口
26
+ EXPOSE 8000
27
+
28
+ # 设置环境变量 (可根据需要覆盖)
29
+ ENV API_SITES='[{"path":"openai","baseurl":"https://api.openai.com","ratelimit":0,"msg-audit-config":{"AuditPath":"/v1/chat/completions","AuditParameter":"messages"}}]'
30
+
31
+ # 启动应用 (根据代码需要添加必要的权限)
32
+ CMD ["deno", "run", \
33
+ "--allow-net", \ # 网络访问权限
34
+ "--allow-env", \ # 环境变量访问权限
35
+ "--allow-read", \ # 文件读取权限
36
+ "--allow-write", \ # 文件写入权限
37
+ "--allow-kv", \ # Deno KV 存储权限
38
+ "--no-prompt", \ # 不提示权限请求
39
+ "--no-check", \ # 不进行类型检查 (生产环境)
40
+ "main.ts"]