fix: use existing node user (UID 1000) instead of useradd
Browse files- Dockerfile +12 -11
Dockerfile
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
# ββ Base image ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 2 |
-
# node:20-slim is Debian-based β needed for node-pty native compilation
|
|
|
|
| 3 |
FROM node:20-slim
|
| 4 |
|
| 5 |
# ββ System dependencies βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
@@ -11,23 +12,23 @@ RUN apt-get update && \
|
|
| 11 |
g++ \
|
| 12 |
&& rm -rf /var/lib/apt/lists/*
|
| 13 |
|
| 14 |
-
# ββ
|
| 15 |
-
|
| 16 |
-
USER
|
| 17 |
-
ENV HOME=/home/
|
| 18 |
-
PATH="/home/
|
| 19 |
|
| 20 |
-
# ββ Install shellular globally (into user's
|
| 21 |
-
RUN npm config set prefix /home/
|
| 22 |
npm install -g shellular
|
| 23 |
|
| 24 |
# ββ App βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 25 |
-
WORKDIR /home/
|
| 26 |
|
| 27 |
-
COPY --chown=
|
| 28 |
RUN npm install --omit=dev
|
| 29 |
|
| 30 |
-
COPY --chown=
|
| 31 |
|
| 32 |
# ββ Runtime βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 33 |
# Hugging Face Spaces expects port 7860
|
|
|
|
| 1 |
# ββ Base image ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 2 |
+
# node:20-slim is Debian-based β needed for node-pty native compilation.
|
| 3 |
+
# It ships with a built-in "node" user at UID 1000, which is what HF Spaces uses.
|
| 4 |
FROM node:20-slim
|
| 5 |
|
| 6 |
# ββ System dependencies βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
|
|
| 12 |
g++ \
|
| 13 |
&& rm -rf /var/lib/apt/lists/*
|
| 14 |
|
| 15 |
+
# ββ Use the existing "node" user (UID 1000) βββββββββββββββββββββββββββββββββββ
|
| 16 |
+
# node:20-slim already has a "node" user at UID 1000 β no need to create one.
|
| 17 |
+
USER node
|
| 18 |
+
ENV HOME=/home/node \
|
| 19 |
+
PATH="/home/node/.npm-global/bin:${PATH}"
|
| 20 |
|
| 21 |
+
# ββ Install shellular globally (into the node user's prefix) βββββββββββββββββ
|
| 22 |
+
RUN npm config set prefix /home/node/.npm-global && \
|
| 23 |
npm install -g shellular
|
| 24 |
|
| 25 |
# ββ App βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 26 |
+
WORKDIR /home/node/app
|
| 27 |
|
| 28 |
+
COPY --chown=node:node package*.json ./
|
| 29 |
RUN npm install --omit=dev
|
| 30 |
|
| 31 |
+
COPY --chown=node:node . .
|
| 32 |
|
| 33 |
# ββ Runtime βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 34 |
# Hugging Face Spaces expects port 7860
|