Update Dockerfile
Browse files- Dockerfile +26 -26
Dockerfile
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
-
#
|
2 |
-
|
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 |
-
|
16 |
-
|
17 |
-
|
18 |
-
#
|
|
|
19 |
USER electerm
|
|
|
20 |
WORKDIR /app
|
21 |
-
RUN
|
22 |
-
|
|
|
23 |
WORKDIR /app/electerm-web
|
24 |
-
|
25 |
-
# 安装依赖并构建项目
|
26 |
RUN npm uninstall @playwright/test chai playwright \
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
|
|
|
|
31 |
|
32 |
-
# 切换回 root 用户以删除不再需要的包,并清理系统
|
33 |
USER root
|
34 |
-
RUN apt-get remove -y git make build-essential g++
|
35 |
-
|
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"]
|