Something went wrong. Try again.
forked niri
Something went wrong. Try again.
nano Dockerfile
1.4 kB · 37 lines
Dockerfile
1234567891011121314151617181920212223242526272829303132333435363738FROM node:22-bookworm
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \ sudo curl wget git vim nano jq \ python3 python3-pip \ ca-certificates \ && rm -rf /var/lib/apt/lists/*
ARG AGENT_USER=niriARG AGENT_UID=1000ARG AGENT_GID=1000RUN set -eux; \ if getent group "${AGENT_GID}" >/dev/null 2>&1; then \ group_name="$(getent group "${AGENT_GID}" | cut -d: -f1)"; \ else \ group_name="${AGENT_USER}"; \ groupadd -g "${AGENT_GID}" "${group_name}"; \ fi; \ existing_user="$(getent passwd "${AGENT_UID}" | cut -d: -f1 || true)"; \ if [ -n "${existing_user}" ] && [ "${existing_user}" != "${AGENT_USER}" ]; then \ usermod -l "${AGENT_USER}" "${existing_user}"; \ usermod -d "/home/${AGENT_USER}" -m "${AGENT_USER}"; \ elif ! id -u "${AGENT_USER}" >/dev/null 2>&1; then \ useradd -m -u "${AGENT_UID}" -g "${group_name}" -s /bin/bash "${AGENT_USER}"; \ fi; \ usermod -u "${AGENT_UID}" "${AGENT_USER}" 2>/dev/null || true; \ usermod -g "${AGENT_GID}" "${AGENT_USER}"; \ echo "${AGENT_USER} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers; \ mkdir -p "/home/${AGENT_USER}" /workspace/node_modules; \ chown -R "${AGENT_UID}:${AGENT_GID}" "/home/${AGENT_USER}" /workspace
WORKDIR /workspaceUSER $AGENT_USER
CMD ["npm", "run", "start", "--", "--host", "0.0.0.0", "--port", "3001", "--agents", "/workspace/agents"]