Add vsocde DevContainer
This commit is contained in:
26
.devcontainer/Dockerfile
Normal file
26
.devcontainer/Dockerfile
Normal file
@@ -0,0 +1,26 @@
|
||||
FROM node:18
|
||||
|
||||
# Install some apt packages
|
||||
RUN apt-get update && apt-get install -y sudo zsh git vim tmux
|
||||
|
||||
# Variable for default user `node` to be used in the following steps
|
||||
ARG USERNAME=node
|
||||
|
||||
# Ensure basic setup of default `node` user
|
||||
# Not needed since node:18 already comes with a node user
|
||||
#RUN useradd -ms /bin/zsh $USERNAME \
|
||||
# && chown -R node:node /home/$USERNAME
|
||||
|
||||
# Set zsh as default shell for node user
|
||||
RUN chsh -s /bin/zsh node
|
||||
|
||||
# Ensure `node` user has access to `sudo`
|
||||
RUN mkdir -p /etc/sudoers.d \
|
||||
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
|
||||
&& chmod 0440 /etc/sudoers.d/$USERNAME
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /workspace
|
||||
|
||||
# Use non-root user
|
||||
USER $USERNAME
|
||||
21
.devcontainer/devcontainer.json
Normal file
21
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "React Dev Container",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile"
|
||||
},
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"settings": {
|
||||
"terminal.integrated.defaultProfile.linux": "zsh"
|
||||
}
|
||||
},
|
||||
"extensions": [
|
||||
"esbenp.prettier-vscode",
|
||||
"dbaeumer.vscode-eslint"
|
||||
]
|
||||
},
|
||||
"forwardPorts": [3000],
|
||||
"postCreateCommand": "npm install",
|
||||
"remoteUser": "node"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user