Introduction
code-server lets you run VS Code on any server and access it in the browser. It gives teams a consistent development environment while offloading compute to powerful remote hardware, so you can code from a tablet, Chromebook, or any thin client.
What code-server Does
- Serves the full VS Code editor over HTTP/HTTPS in any modern browser
- Supports most VS Code extensions from the marketplace
- Persists workspace state, settings, and keybindings across sessions
- Provides built-in terminal access to the remote host
- Allows multi-user setups behind a reverse proxy with auth
Architecture Overview
code-server wraps the open-source VS Code codebase and bundles it with a Node.js HTTP server. It patches the editor to run its extension host and file system operations server-side, then streams the UI to the browser over WebSockets. Static assets are served once and cached, keeping subsequent loads fast even on slower connections.
Self-Hosting & Configuration
- Install via the one-line script, Homebrew, or Docker (
codercom/code-server) - Set a password in
~/.config/code-server/config.yamlor via--auth - Bind to
0.0.0.0and place behind Caddy, Nginx, or Traefik for TLS - Configure
--certand--cert-keyfor built-in self-signed or custom HTTPS - Persist data by mounting
~/.local/share/code-serverin Docker
Key Features
- Full VS Code experience including IntelliSense, debugging, and source control
- Extension support covers language servers, themes, and productivity tools
- Works on low-powered devices since compute runs server-side
- Integrated terminal provides direct shell access to the host
- Link sharing lets you give collaborators instant access to a workspace
Comparison with Similar Tools
- Coder — full platform for cloud dev environments; code-server is the lightweight single-user core
- GitHub Codespaces — managed hosted environments; code-server is self-hosted and free
- Gitpod — workspace automation with prebuilds; code-server focuses on a simple VS Code instance
- Eclipse Che — Kubernetes-native IDE platform with heavier infrastructure requirements
- JupyterLab — notebook-first interface for data science; code-server is a general-purpose editor
FAQ
Q: Can I use my existing VS Code extensions? A: Most extensions work. A few with native binary dependencies may need recompilation for the server OS and architecture.
Q: How do I secure code-server for public access? A: Place it behind a reverse proxy with TLS and enable password or OAuth authentication. Never expose it without auth on a public IP.
Q: Does code-server support multiple users? A: Each instance serves one user. For teams, run separate containers per user or use the Coder platform for multi-tenant management.
Q: What are the minimum server requirements? A: At least 1 CPU core and 2 GB RAM for basic use. Larger projects and more extensions benefit from additional resources.