---
title: "Deploy code-server (w/ Node + Python)"
description: "VS Code in the browser with Node, Python and git; files survive redeploys."
category: "Other"
url: https://railway.com/deploy/code-server-w-node-python
---

# Deploy code-server (w/ Node + Python)

VS Code in the browser with Node, Python and git; files survive redeploys.

**[Deploy code-server (w/ Node + Python) on Railway](https://railway.com/template/code-server-w-node-python)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/code-server-w-node-python/manifest.json

- **Creator:** AvgSoft
- **Category:** Other

## Template content

### code-server https://cdn.jsdelivr.net/gh/mikedepo/railway-template-assets@42389ec727ba1582673192baaa310a63d0781edb/service-icons/code-server.svg

- **Image:** codercom/code-server:4.143.1
- **Start command:** `/bin/sh -c "echo IyEvYmluL3NoCiMgU3RhcnQgY29kZS1zZXJ2ZXIgb24gUmFpbHdheS4gUnVucyBhcyByb290IChSQUlMV0FZX1JVTl9VSUQ9MCkgdG8gcHJlcGFyZSB0aGUgdm9sdW1lIGF0IC9ob21lL2NvZGVyLAojIGluc3RhbGxzIE5vZGUuanMgYW5kIFB5dGhvbiBpbnRvIHRoZSBob21lIGZvbGRlciBvbiBmaXJzdCBzdGFydCwgdGhlbiBydW5zIGNvZGUtc2VydmVyIGFzIGNvZGVyLgojIFRoZSB0ZW1wbGF0ZSdzIHN0YXJ0IGNvbW1hbmQgaXMgdGhpcyBmaWxlIGJhc2U2NC1lbmNvZGVkIChzZWUgdGVtcGxhdGUubWQgZm9yIGhvdyB0byByZWJ1aWxkIGl0KS4KCiMgTm9kZSAyNidzIGJpbmFyaWVzIG5lZWQgbGliYXRvbWljLnNvLjEsIHdoaWNoIHRoZSBjb2RlLXNlcnZlciBpbWFnZSBsYWNrczsgTm9kZSAyNCBMVFMgcnVucyBhcyBpcy4KTk9ERV9WRVJTSU9OPXYyNC4yMi4yClVWX1ZFUlNJT049MC4xMy42ClBZVEhPTl9WRVJTSU9OPTMuMTQKCkg9L2hvbWUvY29kZXIKU1RBVEU9JEgvLmxvY2FsL3N0YXRlL3JhaWx3YXktc2V0dXAKZXhwb3J0IEhPTUU9JEggVVNFUj1jb2RlciBMT0dOQU1FPWNvZGVyIFNIRUxMPS9iaW4vYmFzaApleHBvcnQgUEFUSD0iJEgvLmxvY2FsL2JpbjokSC8ubG9jYWwvbm9kZS9iaW46JFBBVEgiCgojIFJhaWx3YXkgY2FuIGRyb3AgYSBjb250YWluZXIncyBmaXJzdCBsb2cgbGluZXMsIHNvIHRoZSBsb2cgYWxzbyBnb2VzIHRvIGEgZmlsZSBpbiB0aGUgaG9tZSBmb2xkZXIuCmxvZygpIHsgZWNobyAiW3NldHVwXSAkKiI7IGVjaG8gIiQoZGF0ZSAtdSArJUZUJVRaKSAkKiIgPj4gIiRTVEFURS9zZXR1cC5sb2ciOyB9CmFzX2NvZGVyKCkgeyBzZXRwcml2IC0tcmV1aWQ9Y29kZXIgLS1yZWdpZD1jb2RlciAtLWluaXQtZ3JvdXBzICIkQCI7IH0KCiMgQSBuZXcgUmFpbHdheSB2b2x1bWUgaXMgb3duZWQgYnkgcm9vdCBhbmQgaG9sZHMgbG9zdCtmb3VuZCwgYnV0IGNvZGUtc2VydmVyIHJ1bnMgYXMgY29kZXIuCnJtZGlyICIkSC9sb3N0K2ZvdW5kIiAyPi9kZXYvbnVsbApjaG93biBjb2Rlcjpjb2RlciAiJEgiCmNkICIkSCIgfHwgZXhpdCAxCgpmb3IgZiBpbiAuYmFzaHJjIC5wcm9maWxlIC5iYXNoX2xvZ291dDsgZG8KICBbIC1lICIkSC8kZiIgXSB8fCBhc19jb2RlciBjcCAiL2V0Yy9za2VsLyRmIiAiJEgvJGYiCmRvbmUKYXNfY29kZXIgbWtkaXIgLXAgIiRIL3Byb2plY3QiICIkSC9lbnRyeXBvaW50LmQiICIkSC8ubG9jYWwvYmluIiAiJFNUQVRFIgoKY2FzZSAiJChkcGtnIC0tcHJpbnQtYXJjaGl0ZWN0dXJlKSIgaW4KICBhcm02NCkgTk9ERV9BUkNIPWFybTY0IFVWX0FSQ0g9YWFyY2g2NCA7OwogICopIE5PREVfQVJDSD14NjQgVVZfQVJDSD14ODZfNjQgOzsKZXNhYwoKIyBGaXJzdCBzdGFydCBvbmx5LiBBIGZhaWxlZCBkb3dubG9hZCBuZXZlciBibG9ja3MgY29kZS1zZXJ2ZXI6IHRoZSBuZXh0IHN0YXJ0IHRyaWVzIGFnYWluLgppZiBbICEgLWUgIiRTVEFURS9ub2RlIiBdOyB0aGVuCiAgSU5TVEFMTEVEPTEKICBsb2cgImluc3RhbGxpbmcgTm9kZS5qcyAkTk9ERV9WRVJTSU9OIgogIHJtIC1yZiAvdG1wL25vZGUgIiRILy5sb2NhbC9ub2RlLm5ldyIgJiYgbWtkaXIgLXAgIiRILy5sb2NhbC9ub2RlLm5ldyIgJiYKICAgIGN1cmwgLWZzU0wgLS1yZXRyeSAyIC0tbWF4LXRpbWUgMTgwIC1vIC90bXAvbm9kZS50YXIuZ3ogXAogICAgICAiaHR0cHM6Ly9ub2RlanMub3JnL2Rpc3QvJE5PREVfVkVSU0lPTi9ub2RlLSROT0RFX1ZFUlNJT04tbGludXgtJE5PREVfQVJDSC50YXIuZ3oiICYmCiAgICB0YXIgLXh6ZiAvdG1wL25vZGUudGFyLmd6IC1DICIkSC8ubG9jYWwvbm9kZS5uZXciIC0tc3RyaXAtY29tcG9uZW50cz0xICYmCiAgICBybSAtcmYgIiRILy5sb2NhbC9ub2RlIiAmJiBtdiAiJEgvLmxvY2FsL25vZGUubmV3IiAiJEgvLmxvY2FsL25vZGUiICYmCiAgICBjaG93biAtUiBjb2Rlcjpjb2RlciAiJEgvLmxvY2FsL25vZGUiICYmCiAgICBhc19jb2RlciB0b3VjaCAiJFNUQVRFL25vZGUiICYmCiAgICBsb2cgIk5vZGUuanMgJChub2RlIC0tdmVyc2lvbiksIG5wbSAkKG5wbSAtLXZlcnNpb24pIHJlYWR5IiB8fAogICAgbG9nICJOb2RlLmpzIGluc3RhbGwgZmFpbGVkOyBpdCB3aWxsIGJlIHJldHJpZWQgYXQgdGhlIG5leHQgc3RhcnQiCiAgcm0gLXJmIC90bXAvbm9kZS50YXIuZ3ogIiRILy5sb2NhbC9ub2RlLm5ldyIKZmkKCmlmIFsgISAtZSAiJFNUQVRFL3B5dGhvbiIgXTsgdGhlbgogIElOU1RBTExFRD0xCiAgbG9nICJpbnN0YWxsaW5nIFB5dGhvbiAkUFlUSE9OX1ZFUlNJT04gd2l0aCB1diAkVVZfVkVSU0lPTiIKICBjdXJsIC1mc1NMIC0tcmV0cnkgMiAtLW1heC10aW1lIDE4MCAtbyAvdG1wL3V2LnRhci5neiBcCiAgICAiaHR0cHM6Ly9naXRodWIuY29tL2FzdHJhbC1zaC91di9yZWxlYXNlcy9kb3dubG9hZC8kVVZfVkVSU0lPTi91di0kVVZfQVJDSC11bmtub3duLWxpbnV4LWdudS50YXIuZ3oiICYmCiAgICB0YXIgLXh6ZiAvdG1wL3V2LnRhci5neiAtQyAiJEgvLmxvY2FsL2JpbiIgLS1zdHJpcC1jb21wb25lbnRzPTEgJiYKICAgIGNob3duIGNvZGVyOmNvZGVyICIkSC8ubG9jYWwvYmluL3V2IiAiJEgvLmxvY2FsL2Jpbi91dngiICYmCiAgICBhc19jb2RlciB0aW1lb3V0IDMwMCB1diBweXRob24gaW5zdGFsbCAiJFBZVEhPTl9WRVJTSU9OIiAtLWRlZmF1bHQgLS1wcmV2aWV3LWZlYXR1cmVzIHB5dGhvbi1pbnN0YWxsLWRlZmF1bHQgJiYKICAgIGZvciBwIGluIHBpcCBwaXAzOyBkbwogICAgICBbIC1lICIkSC8ubG9jYWwvYmluLyRwIiBdIHx8IHByaW50ZiAnIyEvYmluL3NoXG5leGVjIHB5dGhvbjMgLW0gcGlwICIkQCJcbicgPiAiJEgvLmxvY2FsL2Jpbi8kcCIKICAgICAgY2htb2QgNzU1ICIkSC8ubG9jYWwvYmluLyRwIiAmJiBjaG93biBjb2Rlcjpjb2RlciAiJEgvLmxvY2FsL2Jpbi8kcCIKICAgIGRvbmUgJiYKICAgIGFzX2NvZGVyIHRvdWNoICIkU1RBVEUvcHl0aG9uIiAmJgogICAgbG9nICIkKHB5dGhvbjMgLS12ZXJzaW9uKSwgdXYgJFVWX1ZFUlNJT04gcmVhZHkiIHx8CiAgICBsb2cgIlB5dGhvbiBpbnN0YWxsIGZhaWxlZDsgaXQgd2lsbCBiZSByZXRyaWVkIGF0IHRoZSBuZXh0IHN0YXJ0IgogIHJtIC1mIC90bXAvdXYudGFyLmd6CmZpCgojIFVucGFja2luZyBsZWF2ZXMgYWJvdXQgNDAwIE1CIG9mIHBhZ2UgY2FjaGUsIHdoaWNoIFJhaWx3YXkncyBtZXRyaWNzIGNvdW50IGFzIG1lbW9yeSB1bnRpbCB0aGUgY29udGFpbmVyCiMgcmVzdGFydHMuIERyb3AgdGhlIG5ldyBmaWxlcyBmcm9tIHRoZSBjYWNoZSBpbiB0aGUgYmFja2dyb3VuZDsgdGhleSBhcmUgcmVhZCBiYWNrIHdoZW4gdXNlZC4gRWFjaCBmaWxlIGlzCiMgZmx1c2hlZCBvbiBpdHMgb3duOiBhIGdsb2JhbCBzeW5jIGFsc28gd2FpdHMgZm9yIHRoZSBob3N0J3Mgb3RoZXIgZGlza3MgYW5kIG9uY2UgdG9vayB0d28gbWludXRlcy4KaWYgWyAtbiAiJHtJTlNUQUxMRUQ6LX0iIF0gJiYgY29tbWFuZCAtdiBweXRob24zID4gL2Rldi9udWxsOyB0aGVuCiAgcHl0aG9uMyAtSSAtICIkSC8ubG9jYWwvbm9kZSIgIiRILy5sb2NhbC9zaGFyZS91diIgIiRILy5jYWNoZS91diIgIiRILy5sb2NhbC9iaW4iIDw8J0VPRicgJgppbXBvcnQgb3MsIHN5cwpmb3IgdG9wIGluIHN5cy5hcmd2WzE6XToKICAgIGZvciBmb2xkZXIsIF8sIGZpbGVzIGluIG9zLndhbGsodG9wKToKICAgICAgICBmb3IgbmFtZSBpbiBmaWxlczoKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgZmQgPSBvcy5vcGVuKG9zLnBhdGguam9pbihmb2xkZXIsIG5hbWUpLCBvcy5PX1JET05MWSB8IG9zLk9fTk9GT0xMT1cpCiAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgb3MuZnN5bmMoZmQpCiAgICAgICAgICAgICAgICBvcy5wb3NpeF9mYWR2aXNlKGZkLCAwLCAwLCBvcy5QT1NJWF9GQURWX0RPTlRORUVEKQogICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgb3MuY2xvc2UoZmQpCkVPRgpmaQoKbG9nICJzdGFydGluZyBjb2RlLXNlcnZlciIKZXhlYyBzZXRwcml2IC0tcmV1aWQ9Y29kZXIgLS1yZWdpZD1jb2RlciAtLWluaXQtZ3JvdXBzIFwKICAvdXNyL2Jpbi9lbnRyeXBvaW50LnNoIC0tYmluZC1hZGRyIDAuMC4wLjA6ODA4MCAiJEgvcHJvamVjdCIK | base64 -d > /tmp/start.sh && exec sh /tmp/start.sh"`
- **Health check:** /healthz
- **Public domain:** Yes

## Documentation

# Deploy and Host code-server (w/ Node + Python) on Railway

code-server is VS Code on a server, used from any browser. This template comes with Node.js, Python and git, and keeps your files, settings and extensions on a volume through redeploys.

![code-server: VS Code in your browser, with Node and Python](https://cdn.jsdelivr.net/gh/mikedepo/railway-template-assets@04e7315979225e5d2b89810e1010c2dd6ca6bb87/code-server/banner.png)

## About Hosting code-server (w/ Node + Python)

You get code-server 4.143.1, Node.js 24 and Python 3.14 with uv, installed in your home folder. Choose a password on the deploy form, open the URL and sign in. Preview an app on port 3000 at `/proxy/3000/`.

## Common Use Cases

- Code from any computer or tablet
- Run scripts and bots online
- Preview web apps while you build

## Dependencies for code-server (w/ Node + Python) Hosting

- code-server
- Volume at /home/coder

### Deployment Dependencies

- [code-server documentation](https://coder.com/docs/code-server)
- [code-server FAQ](https://coder.com/docs/code-server/FAQ)

### Implementation Details

![Architecture: you reach code-server through its public URL; your files, Node.js, Python and start scripts live on its volume](https://cdn.jsdelivr.net/gh/mikedepo/railway-template-assets@04e7315979225e5d2b89810e1010c2dd6ca6bb87/code-server/architecture.png)

Back up the volume: it holds `/home/coder`. Packages from `sudo apt-get install` reset on redeploy; a script in `~/entrypoint.d` reinstalls them at every start. code-server recommends 1 GB of memory.

## Why Deploy code-server (w/ Node + Python) on Railway?


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 (w/ Node + Python) 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.


**Updated 2026-10-28:** first release, code-server 4.143.1.


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/code-server-w-node-python
