lingva-translate / Dockerfile
tokenfactory's picture
Update Dockerfile
7863970 verified
raw
history blame contribute delete
930 Bytes
# 使用 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"]