Guide: Launching code-server on railway.app

Railway is a new cloud development platform! ☁️

Use Railway + code-server to get a dev environment that you can access from any device.

code-server and railway.app

Step 1: Click button to deploy

Deploy on Railway

Step 2: Configure & launch your environment

You'll need to make a new repository which will contain your code-server configuration. If you push changes to this repo (to install NodeJS, for example), it will re-deploy code-server.

Connected git repo

You also need to specity a PASSWORD and a GIT_REPO to clone in your environment :)

Step 3: Modify your environment to add additional tools

  1. In Railway, go to Deployments -> Triggers to see your source repo.

    Connected git repo
  2. Open the source repo in GitHub and edit the Dockerfile
  3. Add some custom tools (like NodeJS) and push to the main branch:

    # You can add custom software and dependencies for your environment here. Some examples:
    
    # RUN code-server --install-extension esbenp.prettier-vscode
    # RUN sudo apt-get install -y build-essential
    # RUN COPY myTool /home/coder/myTool
    
    # Install NodeJS
    RUN sudo curl -fsSL https://deb.nodesource.com/setup_15.x | sudo bash -
    RUN sudo apt-get install -y nodejs
  4. Head back to Railway and notice a new deployment was created. After it has completed, you can use these tools in your environment.

  5. (Optional): Configure rclone so that you can save your VS Code config and files without commiting

See the deploy-container README for other config vars for your environment. These variables, such as your password, can be managed in the "Variables" section of your project in railway.


To update your code-server version, modify the version number on line 2 in your Dockerfile. See the list of tags for the latest version.