Spaces:
Paused
Paused
| FROM node:20-alpine3.21 | |
| ARG BUILD_DATE | |
| LABEL build-date=$BUILD_DATE | |
| LABEL maintainer="ZHAO Xudong <zxdong@gmail.com>" | |
| LABEL description="This is Docker image for electerm-web" | |
| LABEL url="https://github.com/electerm/electerm-web-docker" | |
| LABEL vendor="electerm" | |
| LABEL version="2.60.56" | |
| WORKDIR /app | |
| RUN apk add --no-cache python3 py3-pip | |
| RUN addgroup -S electerm && \ | |
| adduser -S -G electerm -h /home/electerm -s /bin/sh electerm && \ | |
| mkdir -p /home/electerm /app && \ | |
| chown -R electerm:electerm /home/electerm /app && \ | |
| chmod 755 /home/electerm | |
| ENV VIRTUAL_ENV=/opt/venv | |
| RUN python3 -m venv $VIRTUAL_ENV | |
| ENV PATH="$VIRTUAL_ENV/bin:$PATH" | |
| RUN pip install --no-cache-dir huggingface_hub | |
| RUN apk update && apk add --no-cache \ | |
| python3 \ | |
| git \ | |
| make \ | |
| g++ \ | |
| build-base && \ | |
| cd /app && \ | |
| git clone --depth 1 https://github.com/electerm/electerm-web.git && \ | |
| cd electerm-web && \ | |
| npm un @playwright/test chai playwright && \ | |
| npm i ipv6 && \ | |
| npm i && \ | |
| npm audit fix --force && \ | |
| npm run build && \ | |
| cp .sample.env .env && \ | |
| sed -i 's/HOST=.*/HOST=0.0.0.0/' .env && \ | |
| sed -i 's/ENABLE_AUTH=.*/ENABLE_AUTH=1/' .env && \ | |
| npm prune --production && \ | |
| npm cache clean --force && \ | |
| apk del build-base make g++ python3 git && \ | |
| rm -rf /var/cache/apk/* && \ | |
| mkdir -p /app/electerm-web/data/electerm_session_logs && \ | |
| chown -R electerm:electerm /app/electerm-web && \ | |
| chmod -R 777 /app/electerm-web/data | |
| COPY sync_data.sh / | |
| RUN chmod +x /sync_data.sh && \ | |
| chown electerm:electerm /sync_data.sh | |
| USER electerm | |
| WORKDIR /app/electerm-web | |
| ENV NODE_ENV=production | |
| ENV HOST=0.0.0.0 | |
| ENV ENABLE_AUTH=1 | |
| ENV SERVER_SECRET=your-secret-key | |
| ENV SERVER_PASS=your-password | |
| EXPOSE 5577 | |
| CMD ["/sync_data.sh"] |