Compare commits

..

9 Commits

5 changed files with 57 additions and 13 deletions

View File

@ -32,7 +32,7 @@ RUN curl -sL https://aka.ms/DevTunnelCliInstall | bash
RUN sudo apt-get update && sudo apt-get install -y gnupg2 RUN sudo apt-get update && sudo apt-get install -y gnupg2
RUN sudo apt-get install -y software-properties-common RUN sudo apt-get install -y software-properties-common
RUN sudo wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - RUN sudo wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
RUN sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" RUN sudo add-apt-repository "deb [arch=${ARCH}] https://packages.microsoft.com/repos/vscode stable main"
RUN sudo apt update RUN sudo apt update
RUN sudo apt install code -y RUN sudo apt install code -y

View File

@ -48,8 +48,14 @@ sed 's/^USER_ENV_//' |
# Append the result to /usr/bin/.bashrc # Append the result to /usr/bin/.bashrc
while IFS= read -r line while IFS= read -r line
do do
# Check if the current user is root
if [ "$(id -u)" = "0" ]; then
echo "" >> /usr/bin/.bashrc echo "" >> /usr/bin/.bashrc
echo "export $line" >> /usr/bin/.bashrc echo "export $line" >> /usr/bin/.bashrc
else
echo "" >> /home/${HOME_USER}/.bashrc
echo "export $line" >> /home/${HOME_USER}/.bashrc
fi
done done
USER="$HOME_USER" USER="$HOME_USER"
@ -71,6 +77,23 @@ if [ "$HOME_USER" != "$(whoami)" ]; then
exec sudo -u $HOME_USER bash -c "source /etc/environment; /usr/bin/entrypoint.sh" exec sudo -u $HOME_USER bash -c "source /etc/environment; /usr/bin/entrypoint.sh"
else else
sudo chown -R ${HOME_USER} /home/${HOME_USER} sudo chown -R ${HOME_USER} /home/${HOME_USER}
sudo chmod -R 600 /home/${HOME_USER}/.ssh
fi
# Move the .bashrc file to the user's home directory if it doesn't exist
if [ ! -f "/home/${HOME_USER}/.bashrc" ]; then
sudo mv /usr/bin/.bashrc /home/${HOME_USER}/.bashrc
sudo chown ${HOME_USER} /home/${HOME_USER}/.bashrc
else
sudo rm -f /usr/bin/.bashrc
fi
# Move the .profile file to the user's home directory if it doesn't exist
if [ ! -f "/home/${HOME_USER}/.profile" ]; then
sudo mv /usr/bin/.profile /home/${HOME_USER}/.profile
sudo chown ${HOME_USER} /home/${HOME_USER}/.profile
else
sudo rm -f /usr/bin/.profile
fi fi
# Find .sh files in /usr/bin/custom-scripts and execute them in order # Find .sh files in /usr/bin/custom-scripts and execute them in order
@ -83,14 +106,6 @@ for script in $(find /usr/bin/custom-scripts -name "*.sh" | sort); do
fi fi
done done
# Move the .bashrc file to the user's home directory
sudo mv /usr/bin/.bashrc /home/${HOME_USER}/.bashrc
sudo chown ${HOME_USER} /home/${HOME_USER}/.bashrc
# Move the .profile file to the user's home directory
sudo mv /usr/bin/.profile /home/${HOME_USER}/.profile
sudo chown ${HOME_USER} /home/${HOME_USER}/.profile
#Creating extensions folder #Creating extensions folder
if [ ! -d "/home/${HOME_USER}/.config/Code" ]; then if [ ! -d "/home/${HOME_USER}/.config/Code" ]; then
sudo mkdir -p /home/${HOME_USER}/.config/Code sudo mkdir -p /home/${HOME_USER}/.config/Code

2
hooks/build Normal file
View File

@ -0,0 +1,2 @@
#!/bin/bash
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t $IMAGE_NAME .

View File

@ -122,7 +122,7 @@ Open the file in a text editor and write your script. Here's an example that ins
```bash ```bash
#!/bin/bash #!/bin/bash
# Installing Node.js with NVM # Installing Node.js with NVM
curl -O https://raw.githubusercontent.com/creationix/nvm/master/install.sh sudo curl -O https://raw.githubusercontent.com/creationix/nvm/master/install.sh
bash install.sh bash install.sh
source ~/.nvm/nvm.sh source ~/.nvm/nvm.sh
nvm install --lts nvm install --lts
@ -145,6 +145,33 @@ When you start your Docker container, all .sh files in the /usr/bin/custom-scrip
Remember to replace install_node.sh with the name of your script and ./custom-scripts with the actual path to the directory on your host machine that maps to the /usr/bin/custom-scripts volume in the Docker container. Remember to replace install_node.sh with the name of your script and ./custom-scripts with the actual path to the directory on your host machine that maps to the /usr/bin/custom-scripts volume in the Docker container.
## Using this image as a base image in a Dockerfile
To use this image as a base image in a Dockerfile, you can add the following line to the top of your Dockerfile and you can install any additional packages you need, here an example installing nvm and nodejs in a `Dockerfile`:
```
FROM aleleba/vscode:latest
ENV HOME_USER=vscode
RUN sudo adduser --disabled-password --gecos "" --uid 1000 ${HOME_USER}
RUN sudo echo "$HOME_USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/nopasswd > /dev/null
USER ${HOME_USER}
WORKDIR /home/${HOME_USER}
# Installing node.js and NVM
SHELL ["/bin/bash", "--login", "-i", "-c"]
RUN curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
RUN nvm install --lts
RUN nvm alias default lts/*
SHELL ["/bin/sh", "-c"]
RUN echo 'source ~/.nvm/nvm.sh' >> ~/.bashrc
# Finishing installing node.js and NVM
```
> **Note:** If you are using this image as a base image in a Dockerfile, ensure that the value of `HOME_USER` is the same as the one you will use when creating the container. This is necessary to ensure that all configurations and packages are installed in the correct user directory.
## Contributing ## Contributing
If you'd like to contribute to this project, please fork the repository and create a pull request. If you'd like to contribute to this project, please fork the repository and create a pull request.

View File

@ -1 +1 @@
3.0.28 3.0.37