File size: 930 Bytes
9894f14
 
41b3e1e
9894f14
 
 
 
 
 
 
 
 
 
41b3e1e
9894f14
 
 
dc6fdd3
9894f14
 
 
dc6fdd3
9894f14
32d8db9
 
 
9894f14
 
 
 
 
dc6fdd3
41b3e1e
9894f14
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 使用 Alpine Linux 作为基础镜像
FROM alpine AS builder

# 安装 Node.js、npm 和 git
RUN apk add --no-cache nodejs npm git

# 安装最新版本的 npm
RUN npm install npm -g

# 创建一个非 root 用户并设置工作目录
RUN adduser -D app
USER app
WORKDIR /home/app

# 克隆 Lingva Translate 的代码库
RUN git clone https://github.com/thedaviddelta/lingva-translate.git
WORKDIR /home/app/lingva-translate

# 安装项目依赖并构建项目
RUN npm install
RUN npm run build

# 设置环境变量
ENV force_default_theme=light
ENV default_source_lang=auto
ENV default_target_lang=zh

# 替换文件权限,确保非 root 用户可以写入
RUN mkdir -p /home/app/lingva-translate/.next/cache && \
    mkdir -p /home/app/lingva-translate/public && \
    chmod -R 777 /home/app/lingva-translate/.next /home/app/lingva-translate/public

# 暴露应用的端口
EXPOSE 3000

# 启动应用
CMD ["npm", "start"]