
Deploy Deploy code-server Open VSX Extensions
Install VS Code extensions from Open VSX or VSIX files
code-server
Just deployed
/home/coder
Deploy and Host self hosted code-server Extensions (VS Code in the Browser with Open VSX Extensions) on Railway
This template runs code-server 4.141.0 with the Open VSX registry wired in, so VS Code extensions install straight from the Extensions view and stay on the /home/coder volume. Built for developers moving off Codespaces.
About Hosting code-server Extensions open-source software on Railway (self hosted code-server extensions template)
Extensions, settings and workspace all live on your own Railway volume mounted at /home/coder, so nothing about your editor setup sits on a vendor account.
Why Deploy code-server Extensions, the GitHub Codespaces alternative on Railway (Railway Free Trial)
GitHub Codespaces is hosted and billed per core-hour, so an idle environment still costs you. code-server on Railway is one usage-billed box you own: your volume, your extensions, your Open VSX access. Start on the $5 trial and see what a month of your real usage looks like.
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying code-server Extensions on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Railway vs Other Hosting Providers and VPS for code-server Extensions self hosting
The real difference is whether extensions survive a rebuild.
| Provider | What You Get with Railway | What You Get with the Other Provider |
|---|---|---|
| DigitalOcean | Pinned image, Open VSX ready, persistent /home/coder volume | Install script plus storage and Caddy you set up yourself |
| AWS | Digest-pinned tag and /healthz check, extensions stay in ~/.local/share | EC2, EBS, and a load balancer tuned for WebSocket upgrades |
| Hetzner | Usage billing, often $5-15/mo, no server admin, Open VSX default | Inexpensive VPS, but you own patching, TLS, and backups |
Same registry everywhere; Railway only saves the setup.
Common Use Cases for hosted code-server Extensions
- Rebuilding your usual setup on a new instance: install the extensions you actually use from Open VSX, and they land in /home/coder and survive the next redeploy.
- Installing a VSIX your team builds in-house: upload the file and run code-server --install-extension ./tool-0.4.2.vsix instead of waiting for a publisher to list it.
- Shipping a pre-installed set for teammates: keep the list in an executable script under ~/.entrypoint.d so every new instance boots with the same set.
- Getting language servers going: the Go, Rust and Python extensions on Open VSX are enough for completions and go-to-definition in the browser.
- Replacing Microsoft-only extensions: swap Pylance for basedpyright when the proprietary build refuses to run outside Microsoft's builds.
Dependencies for code-server Extensions Docker hosted on Railway
One service, no custom build: the template runs codercom/code-server:4.141.0 from Docker Hub, pinned by tag and digest. Extensions are files under /home/coder, so the volume, the five defaulted variables and the public port are the only dependencies.
Deployment Dependencies for Managed code-server Extensions Service (Browser IDE)
The service listens on port 8080, health-checks at /healthz with a 120 s timeout and mounts one volume at /home/coder.
Implementation Details for code-server Extensions (Using code-server official docker image)
On boot the container runs as root just long enough to chown /home/coder to coder (uid 1000) and seed dotfiles, then drops privileges with runuser and starts the upstream entrypoint with --bind-addr 0.0.0.0:8080 --disable-telemetry --enable-remote-storage.
How does code-server Extensions compare against other ways to get VS Code extensions in a browser IDE
code-server vs GitHub Codespaces (Codespaces Alternative)
- Gallery: Codespaces gets Microsoft's marketplace and Pylance in one click; here you use Open VSX or a VSIX.
- Where code-server wins: extensions sit on the /home/coder volume, so they survive redeploys.
- Cost: one always-on Railway service versus per-core-hour; a free Codespaces quota still wins for occasional use.
code-server vs OpenVSCode Server (OpenVSCode Alternative)
- Same gallery: both default to Open VSX, so the list of missing Microsoft extensions is the same.
- Extension tooling: code-server documents the Extensions view, Install from VSIX and the install CLI.
- Where OpenVSCode wins: leaner if you only want the editor, though it lacks code-server's boot-time hooks.
code-server vs Gitpod (Gitpod Alternative)
- Gallery: Gitpod also runs Open VSX, so the same proprietary extensions are missing.
- Persistence: code-server extensions live on the volume; Gitpod workspaces are built per task.
- Where Gitpod wins: disposable workspaces with prebuilds, which this single-user box does not do.
code-server vs VS Code Remote Tunnels (Remote Tunnels Alternative)
- Marketplace: Remote Tunnels runs real VS Code, so Microsoft-only extensions install normally.
- Where code-server wins: nothing to install on the client, and it works in iPad Safari.
- Extension path: both store extensions on remote disk, here ~/.local/share/code-server/extensions.
How to use code-server Extensions (the OSS browser IDE)?
- Open your Railway domain, paste the PASSWORD from Variables, land in /home/coder/workspace.
- Open the Extensions view. It queries Open VSX, not Microsoft's marketplace, so install a few.
- Or install by ID in the terminal:
code-server --install-extension publisher.name - Missing from Open VSX? Upload the .vsix, then:
code-server --install-extension ./file.vsix - List them:
code-server --list-extensions - Persist the set. Extensions live in ~/.local/share/code-server/extensions on the /home/coder volume, so redeploys keep them. Add ~/.entrypoint.d/10-extensions.sh, chmod +x:
#!/bin/sh
code-server --install-extension ms-python.python || true
Scripts there run as coder before code-server starts.
How to self host code-server Extensions on other VPS Services (code-server self hosting guide)
Clone the Repository
Pull the official image at the same tag Railway uses.
docker pull codercom/code-server:4.141.0
Install Dependencies
You need Linux and a reverse proxy such as Caddy or nginx for HTTPS and WebSockets.
docker run -d --name code-server -p 8080:8080 \
-v $HOME/data:/home/coder/.local/share/code-server \
codercom/code-server:4.141.0
Configure Environment Variables
Set PASSWORD, or write ~/.config/code-server/config.yaml with bind-addr, auth and password. Keep the data path persistent.
Start the code-server Extensions Application
Run it under systemd or a restart policy, then install from the Extensions view or the terminal.
code-server --install-extension ms-python.python
code-server --install-extension ./team-tool.vsix
Extensions land in ~/.local/share/code-server/extensions. Railway handles the first-boot chown, the TLS domain and the ENTRYPOINTD scripts that reinstall your list on each restart.
Official Pricing of code-server Extensions (code-server pricing)
code-server itself is free. The software is MIT licensed, extensions included, and Open VSX is a free public registry. Nothing here is metered per seat or per extension install. Microsoft's marketplace stays out of the invoice because its terms bar non-Microsoft products.
code-server Extensions cloud vs self hosted comparison (Pricing, features, costs, and more)
Hosted IDEs fold extension management into a per-seat or per-hour bill. Self hosted code-server gives you the same Open VSX catalog with extensions in a folder you control.
Monthly cost of self hosting code-server Extensions on Railway
Railway bills the container only, about $5-15/mo for one always-on code-server at light to moderate use, depending on RAM. Extensions install free and in any number, with no per-seat line item. The /home/coder volume keeps them across redeploys.
System Requirements for Hosting code-server Extensions on a VPS
1-2 GB RAM covers VS Code plus a couple of language servers; large TypeScript or Java projects want more.
Frequently Asked Questions (FAQs)
Why is my extension missing from the Extensions view?
The view is backed by Open VSX, not Microsoft's marketplace, so coverage differs. Ask the author to publish to Open VSX, or download the VSIX and install it yourself.
Can I point code-server at the Microsoft marketplace?
No. The marketplace terms limit offerings to Visual Studio products, so code-server ships with Open VSX instead. EXTENSIONS_GALLERY can target another gallery that implements the VS Code Extension Gallery API, but using Microsoft's that way breaks its terms.
Do extensions survive a redeploy?
Yes. They live in ~/.local/share/code-server/extensions on the /home/coder volume, alongside settings in ~/.local/share/code-server/User, so a restart or image bump keeps them.
Why won't GitHub Copilot or Pylance work?
Some Microsoft-proprietary extensions, including Pylance, the Remote Development pack and Live Share, don't run outside Microsoft builds. Swap in open alternatives such as basedpyright or the Python extension from Open VSX.
How do I install a VSIX?
Run code-server --install-extension /path/to/file.vsix from the integrated terminal, or use Install from VSIX in the Extensions view. Then check it with --list-extensions.
How do I sync settings without Settings Sync?
Microsoft account sync isn't available here. Keep settings.json and keybindings in a dotfiles repo, and add a script under ~/.entrypoint.d that installs your extension list on every boot.
Template Content
code-server
codercom/code-server:4.141.0