File size: 1,603 Bytes
8762e02
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cec9008
 
8762e02
a6077e3
8762e02
 
 
 
a6077e3
 
 
8762e02
 
 
 
 
1e85165
8762e02
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
FROM node:18
ARG BUILD_DATE
LABEL build-date=$BUILD_DATE
LABEL maintainer="ZHAO Xudong <[email protected]>"
LABEL description="This is Docker image for electerm-web"
LABEL url="https://github.com/electerm/electerm-web-docker"
LABEL vendor="electerm"
LABEL version="2.39.109"

# Install the build tools necessary for node-gyp
RUN apt-get update && apt-get install -y git python-is-python3 make build-essential g++ \
# Create the electerm user and group
&& groupadd -r electerm && useradd -r -g electerm -d /home/electerm -s /bin/bash electerm \
&& mkdir /home/electerm \
# Set the ownership and permissions of the home directory
&& chown -R electerm:electerm /home/electerm && chmod 755 /home/electerm

USER electerm

# RUN chown -R electerm:electerm /home/electerm
WORKDIR /app
RUN chown -R electerm:electerm /app \
# Set the working directory in the Docker container
&& git clone --depth 1 https://github.com/electerm/electerm-web.git && \
  mkdir -p /app/electerm-web/data/electerm_session_logs && \
  chown -R electerm:electerm /app/electerm-web
WORKDIR /app/electerm-web
RUN npm uninstall @playwright/test chai playwright \
&& npm i \
&& npm run build \
&& cp .sample.env .env \
&& sed -i 's/HOST=127.0.0.1/HOST=0.0.0.0/' .env \
&& npm prune --production \
&& npm cache clean --force
# && npm config delete registry

USER root
RUN apt-get remove -y git python-is-python3 make build-essential g++
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

USER electerm
WORKDIR /app/electerm-web

# Set the environment variable
ENV NODE_ENV=production

# Run your application
CMD ["node", "./src/app/app.js"]