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