# 使用 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"]