Compare commits

...
31 Commits
Author SHA1 Message Date
aleleba 6682a59f53 fix: ensure user's home directory exists before writing .bashrc and update version to 3.2.25 2026-07-11 01:59:59 +00:00
aleleba 3b1a175eac fix: install VS Code from Microsoft's direct download endpoint instead of apt repo
The apt repo at packages.microsoft.com/repos/vscode does not publish amd64
and arm64 .deb packages atomically, so the arm64 build in CI could pick up
an older VS Code version than amd64 when both platforms build in the same run.

Switch to downloading the .deb directly from
update.code.visualstudio.com/latest/linux-deb-{arch}/stable, the canonical
"always latest" endpoint, and resolve dependencies via apt-get install -f.

Also add an explicit docker/setup-qemu-action step to the workflow so arm64
emulation is version-pinned rather than relying on the runner's default
binfmt registration.
2026-07-03 16:39:24 +00:00
aleleba 69e52bcac1 fixing chown. 2026-07-03 04:44:16 +00:00
aleleba 9a998f3e0c Updating version of vscode. 2026-06-16 01:54:51 +00:00
aleleba 48ca077a44 Updating VSCode to lastes, updating to version 3.2.21 2026-02-02 19:32:30 +00:00
aleleba 6186b16503 Updating to version 3.2.20 2026-01-05 03:14:47 +00:00
aleleba 6131b86b48 Updating to last version of VSCode. 2025-11-27 05:08:34 +00:00
aleleba 8080ba8110 Updating version of VSCode 2025-11-26 00:03:51 +00:00
aleleba cfe27a3e86 Fixing name of gitea package. 2025-09-28 03:52:26 +00:00
aleleba bfeb1e8a08 Pushing to both registers. 2025-09-28 03:34:54 +00:00
aleleba 0ecbe1c0ad adding Trigger of gitea worflow. 2025-09-27 23:36:52 +00:00
aleleba 085c5db158 forcing the instalation of extensions. 2025-09-26 22:21:19 +00:00
aleleba b6603398e2 Updating version of vscode. 2025-09-22 18:36:54 +00:00
aleleba 7076f09b06 Updating version of vscode. 2025-09-15 07:21:00 +00:00
aleleba dc46ee00a3 Updating version of vscode 2025-08-07 20:58:12 +00:00
aleleba fba2d768e9 Updating version of vscode. 2025-06-13 01:17:16 +00:00
aleleba 40c5f1c963 Adding validation to use chmod +x $script when running custom script. 2025-06-04 22:01:36 +00:00
aleleba e34b39c827 Updating version of vscode. 2025-06-04 06:06:29 +00:00
aleleba f3797b5660 Removing feature to persist session since is not possible because OAuth process of github. 2025-04-14 16:46:35 +00:00
aleleba a1e53a6624 Trying to fix issue of recreate the tunnel. 2025-04-14 01:13:35 +00:00
aleleba 3da90aa1a4 Fixing typo. 2025-04-14 00:06:02 +00:00
aleleba aa9afba282 Trying to fix existing tunnel. 2025-04-13 23:44:58 +00:00
aleleba 0fe46e635d Trying to fix issue if data authentication already exist. 2025-04-13 04:27:21 +00:00
aleleba d84caeb8cf Trying to fix issue when restart. 2025-04-13 03:57:47 +00:00
aleleba 68e7aa99d8 Trying to fix issue when restart. 2025-04-13 03:30:11 +00:00
aleleba 8d5deeeef0 Updating version of vscode and adding feature to restart. 2025-04-13 00:51:32 +00:00
aleleba 0c8c0d1068 Updating vscode version. 2025-03-07 00:02:34 +00:00
aleleba fc0c473ce4 Updating vscode version 2025-02-19 20:04:53 +00:00
aleleba 521c51314a Updating version of vscode. Updating to version 3.1.17 2024-12-17 15:47:33 +00:00
aleleba 23b4140fc5 Updating version of vscode. 2024-11-19 15:08:35 +00:00
aleleba a4e9a02d87 Updating version of vscode. 2024-11-01 10:47:10 -06:00
5 changed files with 62 additions and 20 deletions
+32 -9
View File
@@ -8,23 +8,46 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
- name: Checkout
uses: actions/checkout@v2
-
name: Set up Docker Buildx
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Login to DockerHub
# 🔑 Login to DockerHub
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
# 🔑 Login to Gitea Registry
- name: Login to Gitea Registry
uses: docker/login-action@v1
with:
registry: gitea.p-lao.com
username: aleleba
password: ${{ secrets.GITEA_API_TOKEN }}
# 🚀 Build and push to BOTH registries
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: aleleba/vscode:latest
platforms: linux/amd64,linux/arm64
tags: |
aleleba/vscode:latest
gitea.p-lao.com/aleleba/vscode:latest
- name: Trigger workflow in Gitea
if: success()
run: |
curl -X POST \
-H "Authorization: token ${{ secrets.GITEA_API_TOKEN }}" \
-H "Content-Type: application/json" \
https://gitea.p-lao.com/api/v1/repos/aleleba/vscode-server/actions/workflows/main-workflow.yml/dispatches \
-d '{"ref":"master","inputs":{"image":"gitea.p-lao.com/aleleba/vscode-server:latest"}}'
+9 -6
View File
@@ -29,13 +29,16 @@ RUN curl -sL https://aka.ms/DevTunnelCliInstall | bash
#Instalando VSCode
RUN ARCH="$(dpkg --print-architecture)" \
&& case "${ARCH}" in \
amd64) VSCODE_ARCH="x64" ;; \
arm64) VSCODE_ARCH="arm64" ;; \
*) echo "Unsupported architecture: ${ARCH}" >&2; exit 1 ;; \
esac \
&& curl -fsSL "https://update.code.visualstudio.com/latest/linux-deb-${VSCODE_ARCH}/stable" -o /tmp/vscode.deb \
&& (sudo dpkg -i /tmp/vscode.deb || true) \
&& sudo apt-get update \
&& sudo apt-get install -y gnupg2 \
&& sudo apt-get install -y software-properties-common \
&& sudo wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - \
&& sudo add-apt-repository "deb [arch=${ARCH}] https://packages.microsoft.com/repos/vscode stable main" \
&& sudo apt-get update \
&& sudo DEBIAN_FRONTEND=noninteractive apt-get install -y code
&& sudo DEBIAN_FRONTEND=noninteractive apt-get install -f -y \
&& rm -f /tmp/vscode.deb
#Making home writable
RUN sudo chmod -R a+rwX /home
+16 -3
View File
@@ -48,6 +48,13 @@ sed 's/^USER_ENV_//' |
# Append the result to /usr/bin/.bashrc
while IFS= read -r line
do
# Ensure the user's home directory exists before writing .bashrc
if [ ! -d "/home/${HOME_USER}" ]; then
sudo mkdir -p "/home/${HOME_USER}"
sudo chown root:root "/home/${HOME_USER}"
sudo chmod 755 "/home/${HOME_USER}"
fi
# Check if the current user is root
if [ "$(id -u)" = "0" ]; then
echo "" >> /usr/bin/.bashrc
@@ -76,7 +83,7 @@ fi
if [ "$HOME_USER" != "$(whoami)" ]; then
exec sudo -u $HOME_USER bash -c "source /etc/environment; /usr/bin/entrypoint.sh"
else
sudo chown -R ${HOME_USER} /home/${HOME_USER}
sudo find "/home/${HOME_USER}" -xdev -exec chown "${HOME_USER}" {} + 2>/dev/null || true
if [ -d "/home/${HOME_USER}/.ssh" ]; then
sudo chmod 755 /home/${HOME_USER}/.ssh
sudo chmod -R 600 /home/${HOME_USER}/.ssh/*
@@ -111,7 +118,12 @@ fi
# 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
chmod +x $script
# Ensure the script is executable
if [ ! -x $script ]; then
sudo chmod +x $script
fi
# Execute the script as the configured user
if [[ $script == *"sudo"* ]]; then
sudo -u $HOME_USER bash -c "source /etc/environment; sudo $script"
else
@@ -119,6 +131,7 @@ for script in $(find /usr/bin/custom-scripts -name "*.sh" | sort); do
fi
done
#Creating extensions folder
if [ ! -d "/home/${HOME_USER}/.config/Code" ]; then
sudo mkdir -p /home/${HOME_USER}/.config/Code
@@ -146,7 +159,7 @@ if [ -f "/home/extensions.json" ]; then
# Loop through the extensions and process each element
for extension in $extensions; do
echo "Installing extension: $extension"
sudo su ${HOME_USER} -c "code --install-extension $extension"
sudo su ${HOME_USER} -c "code --install-extension $extension --force"
done
sudo cp -R /home/${HOME_USER}/.vscode/* /home/${HOME_USER}/.vscode-server
sudo cp -R /home/${HOME_USER}/.vscode/* /home/${HOME_USER}/.vscode-server-insiders
+3
View File
@@ -170,6 +170,9 @@ 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.
+1 -1
View File
@@ -1 +1 @@
3.1.14
3.2.25