Compare commits

...

2 Commits
3.2.5 ... 3.2.7

Author SHA1 Message Date
f3797b5660 Removing feature to persist session since is not possible because OAuth process of github.
Some checks failed
Build and Push Docker Image ARM64 / docker (push) Failing after 3m19s
2025-04-14 16:46:35 +00:00
a1e53a6624 Trying to fix issue of recreate the tunnel.
Some checks failed
Build and Push Docker Image ARM64 / docker (push) Failing after 3m14s
2025-04-14 01:13:35 +00:00
3 changed files with 4 additions and 52 deletions

View File

@ -157,47 +157,8 @@ else
echo "File extensions.json not found"
fi
# Check if CLI directory exists and has content
if [ -d "/home/${HOME_USER}/.vscode/cli" ] && [ "$(ls -A /home/${HOME_USER}/.vscode/cli 2>/dev/null)" ]; then
# CLI directory exists and has content, extract token and tunnel information
# Extract token from token.json if it exists
TOKEN_FILE="/home/${HOME_USER}/.vscode/cli/token.json"
if [ -f "$TOKEN_FILE" ]; then
TOKEN=$(cat "$TOKEN_FILE" | tr -d '\n')
else
TOKEN=""
fi
# Extract id and cluster from code_tunnel.json if it exists
TUNNEL_FILE="/home/${HOME_USER}/.vscode/cli/code_tunnel.json"
if [ -f "$TUNNEL_FILE" ]; then
if command -v jq &> /dev/null; then
# Use jq if available
ID=$(jq -r '.id' "$TUNNEL_FILE")
CLUSTER=$(jq -r '.cluster' "$TUNNEL_FILE")
else
# Fallback to grep and cut if jq is not available
ID=$(grep -o '"id"[^,}]*' "$TUNNEL_FILE" | cut -d'"' -f4)
CLUSTER=$(grep -o '"cluster"[^,}]*' "$TUNNEL_FILE" | cut -d'"' -f4)
fi
TUNNEL_ID="${ID}.${CLUSTER}"
else
TUNNEL_ID=""
fi
# Create tunnel with extracted values if available
if [ -n "$TOKEN" ] && [ -n "$TUNNEL_ID" ]; then
sudo su ${HOME_USER} -c "code tunnel --name ${VSCODE_TUNNEL_NAME} --tunnel-id ${TUNNEL_ID} --host-token ${TOKEN}"
else
# Fallback to simpler command if values couldn't be extracted
sudo su ${HOME_USER} -c "code tunnel --name ${VSCODE_TUNNEL_NAME}"
fi
if [[ -v VSCODE_TUNNEL_NAME && -n "${VSCODE_TUNNEL_NAME}" ]]; then
sudo su ${HOME_USER} -c "code tunnel --accept-server-license-terms --name ${VSCODE_TUNNEL_NAME}"
else
# No CLI directory or empty, use normal startup
if [[ -v VSCODE_TUNNEL_NAME && -n "${VSCODE_TUNNEL_NAME}" ]]; then
sudo su ${HOME_USER} -c "code tunnel --accept-server-license-terms --name ${VSCODE_TUNNEL_NAME}"
else
sudo su ${HOME_USER} -c "code tunnel --accept-server-license-terms"
fi
sudo su ${HOME_USER} -c "code tunnel --accept-server-license-terms"
fi

View File

@ -39,15 +39,6 @@ docker run -it -e HOME_USER=custom-home-user -e GLOBAL_ENV_MY_GLOBAL_VARIABLE=my
```
In this example, MY_GLOBAL_VARIABLE will be set to my_global_value in the /etc/environment file.
### Persistent VS Code Tunnel
You can maintain the VS Code tunnel configuration between container restarts by adding a volume mount to `/home/${HOME_USER}/.vscode/cli`. When this volume is mounted and the container restarts, it will use `code tunnel restart` to reconnect using the existing tunnel configuration instead of creating a new one.
Example:
```bash
docker run -it -e HOME_USER=custom-home-user -e VSCODE_TUNNEL_NAME=vscode-ssh-remote-server -v /path/to/vscode-cli:/home/custom-home-user/.vscode/cli -v /path/to/extensions.json:/home/extensions.json aleleba/vscode
```
### Adding VSCode Extensions
To add VSCode extensions to the container, create a JSON file with an array of objects containing the extension details you want to install, the only Mandatory field is uniqueIdentifier and follow this structure. For example:

View File

@ -1 +1 @@
3.2.5
3.2.7