# Clusev terminal sidecar — Node ws↔SSH bridge (pure JS: ws + ssh2, no native addons).
FROM node:20-bookworm-slim

WORKDIR /app
COPY package.json ./
RUN npm install --omit=dev && npm cache clean --force

COPY server.js ./

# Run as the bundled unprivileged node user.
USER node

EXPOSE 3000
CMD ["node", "server.js"]
