Compare commits

..

17 Commits

Author SHA1 Message Date
3e130f4bf0 Updating version of vscode. Updating to version 3.1.5 2024-08-02 11:10:23 -06:00
4c16938db3 Updating docs. Updating to version 3.1.4 2024-06-15 23:58:09 -06:00
cd7181d6ec Updating the latest version of vscode. Updting to version 3.1.3 2024-06-11 10:31:02 -06:00
183e04cde2 Update permissions for SSH files and increment version number to 3.1.2 2024-04-24 22:17:32 +00:00
b33c4cbbe6 Fixing permissions on .ssh directory. Update to version 3.1.1 2024-04-24 12:47:13 -06:00
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
5 changed files with 105 additions and 17 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,15 +77,37 @@ 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}
if [ -d "/home/${HOME_USER}/.ssh" ]; then
sudo chmod 755 /home/${HOME_USER}/.ssh
sudo chmod -R 600 /home/${HOME_USER}/.ssh/*
# Check if any .pub files exist in the .ssh directory
for file in /home/${HOME_USER}/.ssh/*.pub; do
if [ -f "$file" ]; then
sudo chmod 644 "$file"
fi
done
# Check if the known_hosts file exists in the .ssh directory
if [ -f "/home/${HOME_USER}/.ssh/known_hosts" ]; then
sudo chmod 644 /home/${HOME_USER}/.ssh/known_hosts
fi
fi
fi fi
# Move the .bashrc file to the user's home directory # 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 mv /usr/bin/.bashrc /home/${HOME_USER}/.bashrc
sudo chown ${HOME_USER} /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 # 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 mv /usr/bin/.profile /home/${HOME_USER}/.profile
sudo chown ${HOME_USER} /home/${HOME_USER}/.profile sudo chown ${HOME_USER} /home/${HOME_USER}/.profile
else
sudo rm -f /usr/bin/.profile
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
for script in $(find /usr/bin/custom-scripts -name "*.sh" | sort); do for script in $(find /usr/bin/custom-scripts -name "*.sh" | sort); do

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,35 @@ 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.
> **Note:** To grant access to the server, please log into https://github.com/login/device and use the code XXXX-XXXX. You can view the container logs to get the code.
## 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.29 3.1.5