Compare commits

..

13 Commits

Author SHA1 Message Date
974914126f Adding all responsability to deploy to both platforms to github actions. Adding officially support to multiarch. Updating to version 3.1.0 2024-04-24 12:26:58 -06:00
ae16a7be7f Trying to fix architecture issue. Updating to version 3.0.40 2024-04-24 12:12:26 -06:00
998701be6c Trying to fic issue with building process. Updating to version 3.0.39 2024-04-24 11:58:07 -06:00
b30b350fe4 Trying to build with github actions the building of arm arch. updating to version 3.0.38 2024-04-24 11:37:47 -06:00
1b278e0eea Adding hooks to multiarch building. Updating to version 3.0.37 2024-04-24 11:17:06 -06:00
e88ab12701 Update permissions for .ssh folder and increment version number to 3.0.36 2024-04-21 11:55:35 +00:00
694039fb29 Update entrypoint.sh and version.txt to version 3.0.35 2024-04-21 11:39:37 +00:00
8ffbd5d818 Update entrypoint.sh and version.txt to version 3.0.34 2024-04-21 06:55:40 +00:00
c2f5311948 Update ownership of user's home directory and increment version number to 3.0.33 2024-04-21 01:24:57 +00:00
f91d1c56a1 Update entrypoint.sh and version.txt Updating to version 3.0.32 2024-04-19 15:50:09 +00:00
42b7bd30e7 Update Node.js installation script on readmefile and increment version number to 3.0.31 2024-04-19 14:47:49 +00:00
0f51996adc Update entrypoint.sh and readme.md files Updating to version 3.0.30 2024-04-19 14:31:21 +00:00
8dea73ec95 Move .bashrc and .profile files to user's home directory, update version to 3.0.29 2024-04-19 11:42:39 +00:00
5 changed files with 92 additions and 19 deletions

30
.github/workflows/main-workflow.yml vendored Normal file
View File

@ -0,0 +1,30 @@
name: Build and Push Docker Image ARM64
on:
push:
branches: [ master ]
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: aleleba/vscode:latest
platforms: linux/amd64,linux/arm64

View File

@ -16,7 +16,7 @@ RUN sudo apt-get update
RUN sudo apt-get install dumb-init RUN sudo apt-get install dumb-init
RUN ARCH="$(dpkg --print-architecture)" \ RUN ARCH="$(dpkg --print-architecture)" \
&& curl -fsSL "https://github.com/boxboat/fixuid/releases/download/v0.6.0/fixuid-0.6.0-linux-$ARCH.tar.gz" | tar -C /usr/local/bin -xzf - \ && curl -fsSL "https://github.com/boxboat/fixuid/releases/download/v0.6.0/fixuid-0.6.0-linux-${ARCH}.tar.gz" | tar -C /usr/local/bin -xzf - \
&& chown root:root /usr/local/bin/fixuid \ && chown root:root /usr/local/bin/fixuid \
&& chmod 4755 /usr/local/bin/fixuid \ && chmod 4755 /usr/local/bin/fixuid \
&& mkdir -p /etc/fixuid \ && mkdir -p /etc/fixuid \
@ -29,12 +29,13 @@ RUN ARCH="$(dpkg --print-architecture)" \
RUN curl -sL https://aka.ms/DevTunnelCliInstall | bash RUN curl -sL https://aka.ms/DevTunnelCliInstall | bash
#Instalando VSCode #Instalando VSCode
RUN sudo apt-get update && sudo apt-get install -y gnupg2 RUN ARCH="$(dpkg --print-architecture)" \
RUN sudo apt-get install -y software-properties-common && sudo apt-get update && sudo apt-get install -y gnupg2 \
RUN sudo wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - && sudo apt-get install -y software-properties-common \
RUN sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" && sudo wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - \
RUN sudo apt update && sudo add-apt-repository "deb [arch=${ARCH}] https://packages.microsoft.com/repos/vscode stable main" \
RUN sudo apt install code -y && sudo apt update \
&& sudo apt install code -y
#Making home writteable #Making home writteable
RUN sudo chmod -R a+rwX /home RUN sudo chmod -R a+rwX /home

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

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.1.0