−25%

on annual Windows plans, until 31 Oct. See plans

EQVPS

VPS for code-server: VS Code in your browser

Run code-server on a VPS and code from any device: install, private access over an SSH tunnel or HTTPS, sizing for real projects, and the limits.

Your laptop is five years old, the build takes eight minutes, and you want to fix a bug from a tablet on the train. code-server runs Visual Studio Code on a server and gives you the full editor in a browser tab — same extensions, same terminal, same keyboard shortcuts. The heavy lifting happens on the VPS; your device just draws the UI.

Why a VPS works well for it

What it needs

WorkloadSuggested plan
Scripts, config editing, small Python projectsMicro — 1 vCPU, 2 GB, $5/mo
Web apps with TypeScript, PHP or GoSmall — 2 vCPU, 4 GB, $8/mo
Several projects, Docker builds, big monoreposMedium — 4 vCPU, 6 GB, $12/mo

Language servers are the hidden cost. A TypeScript project with a few thousand files can take a gigabyte on its own.

Install

As a regular user with sudo (not root — see our sudo user guide):

curl -fsSL https://code-server.dev/install.sh | sh
sudo systemctl enable --now code-server@$USER

The install script picks the right package for your distribution. Settings live in ~/.config/code-server/config.yaml:

bind-addr: 127.0.0.1:8080
auth: password
password: use-a-long-random-password
cert: false

Restart after editing: sudo systemctl restart code-server@$USER. Keep bind-addr on 127.0.0.1 — it should never listen on a public address without HTTPS in front.

Access option 1: SSH tunnel (works on any plan)

From your own machine:

ssh -p 22 -N -L 8080:127.0.0.1:8080 you@203.0.113.10

Then open http://localhost:8080. Nothing is exposed to the internet, and SSH does the encryption. On a NAT plan, use your personal SSH port from the dashboard instead of 22. This is the setup we'd recommend for a single developer.

Access option 2: HTTPS on your own domain

For access from devices where you can't run SSH, put nginx in front on a dedicated-IP plan. Point a subdomain at the server (here's how), then proxy with WebSocket support:

server {
    server_name code.example.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection upgrade;
        proxy_set_header Accept-Encoding gzip;
    }
}

Get a certificate with certbot --nginx -d code.example.com. Our reverse proxy guide covers the details. With a public URL, the password in config.yaml is the only thing between the internet and a shell on your server, so make it long.

Things to know before you switch

Pairs well with

If you use AI coding agents, the same server can run them next to your editor — see running a coding agent on a VPS and the Claude Code use case. Plan details and upgrade paths are in the plans docs.

Ready to deploy? Pay with crypto, no KYC — live in about a minute.

Deploy now →

FAQ

Can I use code-server on a NAT plan?

Yes. Keep code-server bound to 127.0.0.1 and reach it through an SSH tunnel on your personal SSH port — the browser opens http://localhost:8080 on your machine. A dedicated-IP plan is only needed if you want a public HTTPS address on your own domain.

How much RAM does code-server need?

code-server itself is light, but language servers, TypeScript builds and test runners are not. 2 GB works for small scripts; 4 GB with 2 vCPUs (Small) is comfortable for a typical web project.

Do all VS Code extensions work?

Most do. code-server installs extensions from the Open VSX registry, and a few Microsoft-only extensions aren't published there. Check your must-have extensions before moving your workflow.

Is it safe to expose code-server to the internet?

Only behind HTTPS with a strong password, and ideally not at all. Anyone who gets in has a terminal on your server. The SSH tunnel keeps it off the internet entirely.

Will my builds keep running if I close the browser tab?

Tasks started in the integrated terminal stop when the terminal closes. Run long jobs in tmux or as a systemd service, and they'll finish while you're offline.

Comments

No comments yet. Be the first.

Leave a comment

Comments are moderated before they appear.