keflag commited on
Commit
afcb224
·
verified ·
1 Parent(s): 5351ed7

Create DOCKERFILE

Browse files
Files changed (1) hide show
  1. DOCKERFILE +37 -0
DOCKERFILE ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 构建阶段:编译 Focalboard
2
+ FROM node:18-bullseye AS builder
3
+
4
+ # 安装 Go 环境(Focalboard 后端依赖)
5
+ RUN apt-get update && apt-get install -y golang-go git
6
+
7
+ # 设置工作目录
8
+ WORKDIR /app
9
+
10
+ # 克隆官方源码(最新稳定版)
11
+ RUN git clone --depth 1 https://github.com/mattermost/focalboard.git .
12
+
13
+ # 编译前端
14
+ RUN cd webapp && npm install && npm run pack
15
+
16
+ # 编译后端
17
+ RUN make server
18
+
19
+ # 运行阶段:轻量生产镜像
20
+ FROM debian:bullseye-slim
21
+
22
+ # 安装基础依赖
23
+ RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
24
+
25
+ # 设置工作目录
26
+ WORKDIR /app
27
+
28
+ # 从构建阶段复制编译好的文件
29
+ COPY --from=builder /app/bin/focalboard-server .
30
+ COPY --from=builder /app/webapp/pack ./webapp/pack
31
+ COPY --from=builder /app/config.json .
32
+
33
+ # 暴露默认端口
34
+ EXPOSE 8000
35
+
36
+ # 启动命令
37
+ CMD ["./focalboard-server"]