OpenClaw commited on
Commit
38382bc
·
1 Parent(s): 57b098f

Switch HF Space build to Ubuntu-based upstream flow

Browse files
Files changed (1) hide show
  1. Dockerfile +26 -26
Dockerfile CHANGED
@@ -1,50 +1,50 @@
1
- FROM node:20-alpine3.21
2
  ARG BUILD_DATE
3
  LABEL build-date=$BUILD_DATE
4
  LABEL maintainer="OpenClaw"
5
  LABEL description="HuggingFace Space for electerm-web with dataset sync"
6
 
7
- WORKDIR /app
8
-
9
- RUN apk add --no-cache python3 py3-pip py3-virtualenv git make g++ build-base bash tar
 
10
 
11
- RUN addgroup -S electerm && \
12
- adduser -S -G electerm -h /home/electerm -s /bin/sh electerm && \
13
- mkdir -p /home/electerm /app && \
14
- chown -R electerm:electerm /home/electerm /app && \
15
- chmod 755 /home/electerm
16
 
17
  ENV VIRTUAL_ENV=/opt/venv
18
  RUN python3 -m venv /opt/venv
19
  ENV PATH="/opt/venv/bin:$PATH"
20
- RUN pip install --no-cache-dir --upgrade pip
21
- RUN pip install --no-cache-dir huggingface_hub
22
 
23
- RUN git clone --depth 1 https://github.com/electerm/electerm-web.git /app/electerm-web
 
 
24
  WORKDIR /app/electerm-web
25
- RUN npm remove @playwright/test chai playwright || true
26
- RUN npm install ipv6
27
  RUN npm install
28
  RUN npm run build
29
- RUN cp .sample.env .env && \
30
- sed -i 's/HOST=.*/HOST=0.0.0.0/' .env && \
31
- sed -i 's/# ENABLE_AUTH=.*/ENABLE_AUTH=1/' .env && \
32
- sed -i 's/SERVER_USER=.*/SERVER_USER=admin/' .env && \
33
- sed -i 's/SERVER_PASS=.*/SERVER_PASS=xm552297/' .env && \
34
- sed -i 's|# DB_PATH=.*|DB_PATH=/home/electerm/data|' .env
35
  RUN npm cache clean --force
36
- RUN mkdir -p /home/electerm/data/electerm_session_logs && \
37
- chown -R electerm:electerm /app/electerm-web /home/electerm/data && \
38
- chmod -R 777 /home/electerm/data
39
 
40
- WORKDIR /app
41
  COPY sync_data.sh /sync_data.sh
42
  RUN chmod +x /sync_data.sh && chown electerm:electerm /sync_data.sh
 
 
 
43
 
44
- USER electerm
45
  WORKDIR /app/electerm-web
46
-
47
  ENV NODE_ENV=production
 
48
  ENV HOST=0.0.0.0
49
  ENV PORT=5577
50
  ENV ENABLE_AUTH=1
 
1
+ FROM node:24
2
  ARG BUILD_DATE
3
  LABEL build-date=$BUILD_DATE
4
  LABEL maintainer="OpenClaw"
5
  LABEL description="HuggingFace Space for electerm-web with dataset sync"
6
 
7
+ RUN apt-get update && apt-get install -y \
8
+ git python-is-python3 python3-venv python3-pip \
9
+ make build-essential g++ curl ca-certificates tar \
10
+ && rm -rf /var/lib/apt/lists/*
11
 
12
+ RUN groupadd -r electerm && useradd -r -g electerm -d /home/electerm -s /bin/bash electerm \
13
+ && mkdir -p /home/electerm /app /home/electerm/data \
14
+ && chown -R electerm:electerm /home/electerm /app \
15
+ && chmod 755 /home/electerm
 
16
 
17
  ENV VIRTUAL_ENV=/opt/venv
18
  RUN python3 -m venv /opt/venv
19
  ENV PATH="/opt/venv/bin:$PATH"
20
+ RUN pip install --no-cache-dir --upgrade pip && pip install --no-cache-dir huggingface_hub
 
21
 
22
+ WORKDIR /app
23
+ USER electerm:electerm
24
+ RUN git clone --depth 1 https://github.com/electerm/electerm-web.git
25
  WORKDIR /app/electerm-web
26
+ RUN npm config set legacy-peer-deps true
 
27
  RUN npm install
28
  RUN npm run build
29
+ RUN cp .sample.env .env \
30
+ && sed -i 's/HOST=.*/HOST=0.0.0.0/' .env \
31
+ && sed -i 's/# ENABLE_AUTH=.*/ENABLE_AUTH=1/' .env \
32
+ && sed -i 's/SERVER_USER=.*/SERVER_USER=admin/' .env \
33
+ && sed -i 's/SERVER_PASS=.*/SERVER_PASS=xm552297/' .env \
34
+ && sed -i 's|# DB_PATH=.*|DB_PATH=/home/electerm/data|' .env
35
  RUN npm cache clean --force
 
 
 
36
 
37
+ USER root
38
  COPY sync_data.sh /sync_data.sh
39
  RUN chmod +x /sync_data.sh && chown electerm:electerm /sync_data.sh
40
+ RUN mkdir -p /home/electerm/data/electerm_session_logs \
41
+ && chown -R electerm:electerm /app/electerm-web /home/electerm/data \
42
+ && chmod -R 777 /home/electerm/data
43
 
 
44
  WORKDIR /app/electerm-web
45
+ USER electerm:electerm
46
  ENV NODE_ENV=production
47
+ ENV HOME=/home/electerm/data
48
  ENV HOST=0.0.0.0
49
  ENV PORT=5577
50
  ENV ENABLE_AUTH=1