File size: 1,925 Bytes
38382bc 363df51 38382bc 363df51 38382bc 363df51 a830ee7 38382bc a830ee7 38382bc a830ee7 38382bc a830ee7 38382bc a830ee7 363df51 38382bc 363df51 38382bc 363df51 38382bc 363df51 38382bc 363df51 7819e3a 363df51 | 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 51 52 53 54 55 56 57 58 59 60 | FROM node:24
ARG BUILD_DATE
LABEL build-date=$BUILD_DATE
LABEL maintainer="OpenClaw"
LABEL description="HuggingFace Space for electerm-web with dataset sync"
RUN apt-get update && apt-get install -y \
git python-is-python3 python3-venv python3-pip \
make build-essential g++ curl ca-certificates tar \
&& rm -rf /var/lib/apt/lists/*
RUN groupadd -r electerm && useradd -r -g electerm -d /home/electerm -s /bin/bash electerm \
&& mkdir -p /home/electerm /app /home/electerm/data \
&& chown -R electerm:electerm /home/electerm /app \
&& chmod 755 /home/electerm
ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
RUN pip install --no-cache-dir --upgrade pip && pip install --no-cache-dir huggingface_hub
WORKDIR /app
USER electerm:electerm
RUN git clone --depth 1 https://github.com/electerm/electerm-web.git
WORKDIR /app/electerm-web
RUN npm config set legacy-peer-deps true
RUN npm install
RUN npm run build
RUN cp .sample.env .env \
&& sed -i 's/HOST=.*/HOST=0.0.0.0/' .env \
&& sed -i 's/# ENABLE_AUTH=.*/ENABLE_AUTH=1/' .env \
&& sed -i 's/SERVER_USER=.*/SERVER_USER=admin/' .env \
&& sed -i 's/SERVER_PASS=.*/SERVER_PASS=xm552297/' .env \
&& sed -i 's|# DB_PATH=.*|DB_PATH=/home/electerm/data|' .env
RUN npm cache clean --force
USER root
COPY sync_data.sh /sync_data.sh
RUN chmod +x /sync_data.sh && chown electerm:electerm /sync_data.sh
RUN mkdir -p /home/electerm/data/electerm_session_logs \
&& chown -R electerm:electerm /app/electerm-web /home/electerm/data \
&& chmod -R 777 /home/electerm/data
WORKDIR /app/electerm-web
USER electerm:electerm
ENV NODE_ENV=production
ENV HOME=/home/electerm/data
ENV HOST=0.0.0.0
ENV PORT=5577
ENV ENABLE_AUTH=1
ENV DB_PATH=/home/electerm/data
ENV SERVER_SECRET=xm552297-electerm-secret
ENV SERVER_USER=admin
ENV SERVER_PASS=xm552297
ENV TOKEN_EXPIRED_TIME=120y
ENV SYNC_INTERVAL=7200
EXPOSE 5577
CMD ["/sync_data.sh"]
|