|
|
|
FROM node:20 |
|
|
|
|
|
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" |
|
|
|
|
|
RUN apt-get update && \ |
|
apt-get install -y --no-install-recommends git python-is-python3 make build-essential g++ && \ |
|
groupadd -r electerm && \ |
|
useradd -r -g electerm -d /home/electerm -s /bin/bash electerm && \ |
|
mkdir -p /home/electerm && \ |
|
chown -R electerm:electerm /home/electerm && \ |
|
chmod 755 /home/electerm |
|
|
|
|
|
USER electerm |
|
WORKDIR /app |
|
|
|
|
|
RUN git clone --depth 1 https://github.com/electerm/electerm-web.git /app/electerm-web && \ |
|
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 install && \ |
|
npm run build && \ |
|
cp .sample.env .env && \ |
|
npm prune --production && \ |
|
npm cache clean --force |
|
|
|
|
|
USER root |
|
RUN apt-get remove -y git python-is-python3 make build-essential g++ && \ |
|
apt-get autoremove -y && \ |
|
apt-get clean && \ |
|
rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
USER electerm |
|
WORKDIR /app/electerm-web |
|
|
|
|
|
CMD ["node", "./src/app/app.js"] |
|
|
|
|