fuliai commited on
Commit
423a0fd
·
verified ·
1 Parent(s): 51a147c

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +26 -26
Dockerfile CHANGED
@@ -1,7 +1,6 @@
1
- # 使用基于 Ubuntu 的官方 Node.js 20 镜像
2
- FROM node:20
3
-
4
- # 定义构建时间参数
5
  ARG BUILD_DATE
6
  LABEL build-date=$BUILD_DATE
7
  LABEL maintainer="ZHAO Xudong <[email protected]>"
@@ -10,39 +9,40 @@ LABEL url="https://github.com/electerm/electerm-web-docker"
10
  LABEL vendor="electerm"
11
  LABEL version="2.39.109"
12
 
13
- # 安装构建工具,创建用户并设置权限
14
- RUN apt-get update && apt-get install -y git make build-essential g++ \
15
- && groupadd -r electerm && useradd -r -g electerm -d /home/electerm -s /bin/bash electerm \
16
- && mkdir /home/electerm && chown -R electerm:electerm /home/electerm && chmod 755 /home/electerm
17
-
18
- # 设置工作目录并确保权限正确
 
19
  USER electerm
 
20
  WORKDIR /app
21
- RUN git clone --depth 1 https://github.com/electerm/electerm-web.git
22
-
 
23
  WORKDIR /app/electerm-web
24
-
25
- # 安装依赖并构建项目
26
  RUN npm uninstall @playwright/test chai playwright \
27
- && npm install --production \
28
- && npm run build \
29
- && cp .sample.env .env \
30
- && npm cache clean --force
 
 
31
 
32
- # 切换回 root 用户以删除不再需要的包,并清理系统
33
  USER root
34
- RUN apt-get remove -y git make build-essential g++ \
35
- && apt-get clean && rm -rf /var/lib/apt/lists/*
36
 
37
- # 切换回 electerm 用户继续运行应用
38
  USER electerm
39
  WORKDIR /app/electerm-web
40
 
41
- # 设置环境变量
42
  ENV NODE_ENV=production
43
 
44
- # 暴露必要的端口 (根据项目需求)
45
  EXPOSE 7860
46
 
47
- # 运行应用
48
- CMD ["node", "./src/app/app.js"]
 
1
+ # Dockerfile.ubuntu
2
+ # Start from the official Ubuntu-based node.js Docker image
3
+ FROM node:18
 
4
  ARG BUILD_DATE
5
  LABEL build-date=$BUILD_DATE
6
  LABEL maintainer="ZHAO Xudong <[email protected]>"
 
9
  LABEL vendor="electerm"
10
  LABEL version="2.39.109"
11
 
12
+ # Install the build tools necessary for node-gyp
13
+ RUN apt-get update && apt-get install -y git python-is-python3 make build-essential g++ \
14
+ # Create the electerm user and group
15
+ && groupadd -r electerm && useradd -r -g electerm -d /home/electerm -s /bin/bash electerm \
16
+ && mkdir /home/electerm \
17
+ # Set the ownership and permissions of the home directory
18
+ && chown -R electerm:electerm /home/electerm && chmod 755 /home/electerm
19
  USER electerm
20
+ # RUN chown -R electerm:electerm /home/electerm
21
  WORKDIR /app
22
+ RUN chown -R electerm:electerm /app \
23
+ # Set the working directory in the Docker container
24
+ && git clone --depth 1 https://github.com/electerm/electerm-web.git
25
  WORKDIR /app/electerm-web
 
 
26
  RUN npm uninstall @playwright/test chai playwright \
27
+ && npm i \
28
+ && npm run build \
29
+ && cp .sample.env .env \
30
+ && npm prune --production \
31
+ && npm cache clean --force
32
+ # && npm config delete registry
33
 
 
34
  USER root
35
+ RUN apt-get remove -y git python-is-python3 make build-essential g++
36
+ RUN apt-get clean && rm -rf /var/lib/apt/lists/*
37
 
 
38
  USER electerm
39
  WORKDIR /app/electerm-web
40
 
41
+ # Set the environment variable
42
  ENV NODE_ENV=production
43
 
44
+ # 声明容器内部使用的端口
45
  EXPOSE 7860
46
 
47
+ # Run your application
48
+ CMD ["node", "./src/app/app.js"]