ʕ•ᴥ•ʔ Yu

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:

cli:

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

  1. 离线win/mac下vscode客户端通过ssh连接linux服务器