[devcontainer] add non-root user (#2989)
This commit is contained in:
35
.devcontainer/Dockerfile
Normal file
35
.devcontainer/Dockerfile
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
From lmsysorg/sglang:dev
|
||||||
|
|
||||||
|
# Create non-root user with specified UID and GID
|
||||||
|
# NOTE: Replace with your own UID and GID. This is a workaround from https://github.com/microsoft/vscode-remote-release/issues/49#issuecomment-489060908.
|
||||||
|
ARG HOST_UID=1003
|
||||||
|
ARG HOST_GID=1003
|
||||||
|
RUN groupadd -g $HOST_GID devuser && \
|
||||||
|
useradd -m -u $HOST_UID -g $HOST_GID -s /bin/zsh devuser
|
||||||
|
|
||||||
|
# Give devuser sudo access
|
||||||
|
RUN apt-get update && apt-get install -y sudo && \
|
||||||
|
echo "devuser ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/devuser && \
|
||||||
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
|
apt-get clean
|
||||||
|
|
||||||
|
# Set up oh-my-zsh for devuser
|
||||||
|
RUN cp -r /root/.oh-my-zsh /home/devuser/.oh-my-zsh && \
|
||||||
|
cp /root/.zshrc /home/devuser/.zshrc && \
|
||||||
|
cp /root/.vimrc /home/devuser/.vimrc && \
|
||||||
|
cp /root/.tmux.conf /home/devuser/.tmux.conf && \
|
||||||
|
sed -i 's|/root/.oh-my-zsh|/home/devuser/.oh-my-zsh|g' /home/devuser/.zshrc && \
|
||||||
|
chown -R devuser:devuser /home/devuser/
|
||||||
|
|
||||||
|
# Set workspace directory and ownership
|
||||||
|
WORKDIR /sgl-workspace/sglang
|
||||||
|
RUN chown -R devuser:devuser /sgl-workspace
|
||||||
|
|
||||||
|
# Switch to devuser
|
||||||
|
USER devuser
|
||||||
|
|
||||||
|
# Install uv
|
||||||
|
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||||
|
|
||||||
|
# Install rust
|
||||||
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
{
|
{
|
||||||
"name": "sglang",
|
"name": "sglang",
|
||||||
"build": {
|
"build": {
|
||||||
"dockerfile": "../docker/Dockerfile.dev"
|
"dockerfile": "Dockerfile"
|
||||||
},
|
},
|
||||||
|
"remoteUser": "devuser",
|
||||||
"customizations": {
|
"customizations": {
|
||||||
"vscode": {
|
"vscode": {
|
||||||
"extensions": [
|
"extensions": [
|
||||||
|
|||||||
@@ -67,12 +67,6 @@ RUN wget https://github.com/Kitware/CMake/releases/download/v3.31.1/cmake-3.31.1
|
|||||||
&& cp -r cmake-3.31.1-linux-x86_64/share/* /usr/local/share/ \
|
&& cp -r cmake-3.31.1-linux-x86_64/share/* /usr/local/share/ \
|
||||||
&& rm -rf cmake-3.31.1-linux-x86_64 cmake-3.31.1-linux-x86_64.tar.gz
|
&& rm -rf cmake-3.31.1-linux-x86_64 cmake-3.31.1-linux-x86_64.tar.gz
|
||||||
|
|
||||||
# Install uv
|
|
||||||
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
||||||
|
|
||||||
# Install rust
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
||||||
|
|
||||||
# Add yank script
|
# Add yank script
|
||||||
COPY --chown=root:root <<-"EOF" /usr/local/bin/yank
|
COPY --chown=root:root <<-"EOF" /usr/local/bin/yank
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|||||||
Reference in New Issue
Block a user