How to install VSCode Server offline
Latest (until Dec 2025) structure of ~/.vscode-server:
1/home/xxx/.vscode-server
2├── cli
3│ └── servers
4│ ├── lru.json (content: ["Stable-<COMMIT_ID>"])
5│ └── Stable-<COMMIT_ID>
6│ ├── log.txt
7│ ├── pid.txt
8│ └── servers (containing server-linux-<platform>.tar.gz extraction)
9│ ├── bin
10│ ├── extensions
11│ ├── LICENSE
12│ ├── node
13│ ├── node_modules
14│ ├── out
15│ ├── package.json
16│ └── product.json
17├── code-<COMMIT_ID> (cli-alpine-<platform>.tar.gz extraction)
18├── data
19└── extensions
Install vscode-server
First check which version you would like to use and get Commit ID.
I am using the latest vscode at 2025-12-25, by entering About Visual Studio Code, I get following Info:
1Version: 1.107.1 (Universal)
2Commit: 994fd12f8d3a5aa16f17d42c041e5809167e845a
3Date: 2025-12-17T14:15:14.850Z
4Electron: 39.2.3
5ElectronBuildId: 12895514
6Chromium: 142.0.7444.175
7Node.js: 22.21.1
8V8: 14.2.231.21-electron.0
9OS: Darwin arm64 24.6.0
So first assign COMMIT_ID=994fd12f8d3a5aa16f17d42c041e5809167e845a
Next check the arch of your server: arm64/x86_64, and try to download packages from somewhere having internet access.
You could either use browser:
server:
- arm64:
https://update.code.visualstudio.com/commit:${COMMIT_ID}/server-linux-arm64/stable - x86_64:
https://update.code.visualstudio.com/commit:${COMMIT_ID}/server-linux-x64/stable
cli:
- arm64:
https://update.code.visualstudio.com/commit:${COMMIT_ID}/cli-alpine-arm64/stable - x86_64:
https://update.code.visualstudio.com/commit:${COMMIT_ID}/cli-alpine-x64/stable
Or just directly use curl to download:
1# arm64
2COMMIT_ID=994fd12f8d3a5aa16f17d42c041e5809167e845a
3PLATFORM=arm64
4
5# server
6curl -L https://vscode.download.prss.microsoft.com/dbazure/download/stable/${COMMIT_ID}/vscode-server-linux-${PLATFORM}.tar.gz -o vscode-server-linux-${PLATFORM}.tar.gz
7
8# cli
9curl -L https://vscode.download.prss.microsoft.com/dbazure/download/stable/${COMMIT_ID}/vscode_cli_alpine_${PLATFORM}_cli.tar.gz -o vscode_cli_alpine_${PLATFORM}_cli.tar.gz
10
11
12# x86_64
13COMMIT_ID=994fd12f8d3a5aa16f17d42c041e5809167e845a
14PLATFORM=x64
15
16# server
17curl -L https://vscode.download.prss.microsoft.com/dbazure/download/stable/${COMMIT_ID}/vscode-server-linux-${PLATFORM}.tar.gz -o vscode-server-linux-${PLATFORM}.tar.gz
18
19# cli
20curl -L https://vscode.download.prss.microsoft.com/dbazure/download/stable/${COMMIT_ID}/vscode_cli_alpine_${PLATFORM}_cli.tar.gz -o vscode_cli_alpine_${PLATFORM}_cli.tar.gz
After successful downloading, you probably want to mv these packages to your remote server by using scp or other tools.
1#! CONTAIN CUSTOMIZATION
2scp -r PATH_TO_PACKAGES/vscode-server user@server:/tmp/vscode-server
At last, login to your server and execute the following commands:
1# Use x86_64 as example
2# Assume the packages are under /tmp/vscode-server/
3COMMIT_ID=994fd12f8d3a5aa16f17d42c041e5809167e845a
4PLATFORM=x64
5
6mkdir -p ~/.vscode-server/cli/servers/Stable-${COMMIT_ID}
7
8cd /tmp/vscode-server/ || { echo "Failed to change directory to /tmp/vscode-server/"; exit 1; }
9
10tar xzvf vscode-server-linux-${PLATFORM}.tar.gz # should be extracted to vscode-server-linux-x64
11
12if [ ! -d "vscode-server-linux-${PLATFORM}" ]; then
13 echo "Error: vscode-server-linux-${PLATFORM} directory not found after extraction."
14 exit 1
15fi
16
17mv vscode-server-linux-${PLATFORM} ~/.vscode-server/cli/servers/Stable-${COMMIT_ID}/servers
18
19tar xzvf vscode_cli_alpine_${PLATFORM}_cli.tar.gz # should be extracted to code
20
21if [ ! -d "code" ]; then
22 echo "Error: code directory not found after extraction."
23 exit 1
24fi
25
26mv code ~/.vscode-server/code-${COMMIT_ID}
27
28echo "[\"Stable-${COMMIT_ID}\"]" > ~/.vscode-server/cli/servers/lru.json
Refs