Skip to content
/ deploy-code-server Public template

Deploy code-server to the cloud with a few clicks ☁️ πŸ‘¨πŸΌβ€πŸ’»

License

Notifications You must be signed in to change notification settings

coder/deploy-code-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

code-server-railway

An image built for deploying code-server to railway.app.

To launch your code-server environment, click the button below and log in with GitHub.

Deploy on Railway

It will ask you to make a new repo to store this image, so you can add additional software to your repo's Dockerfile in the future.

code-server running inside railway.app

πŸ’Ύ Persist your filesystem with rclone

This image has built-in support for rclone so that your files don't get lost when code-server is re-deployed.

You can generate the rclone config on any machine, but it works great on the code-server environment itself, or Google Cloud Shell :)

# 1. install rclone
# see https://rclone.org/install/ for other install options
$ curl https://rclone.org/install.sh | sudo bash

# 2. create a new rclone remote with your favorite storage provider ☁️
$ rclone config

# 3. Encode your rclone config and copy to your clipboard
$ cat $(rclone config file | sed -n 2p) | base64 --wrap=0 # Linux
$ cat $(rclone config file | sed -n 2p) | base64 --b 0 # MacOS

Now, you can add the following the environment variables in the code-server cloud app:

Environment Variable Description Default Value Required
RCLONE_DATA the encoded rclone config you copied in step 3 n/a βœ…
RCLONE_REMOTE_NAME the name of the remote you added in step 2.
check with $ rclone listremotes
code-server-remote
RCLONE_SOURCE source directory to sync files in the code-server container the project directory: /home/coder/project
RCLONE_DESTINATION the path in the remote that rclone syncs to. change this if you have multiple code-server environments, or if you want to better organize your files. code-server-files
# How to use:

$ sh /home/coder/push_remote.sh # save your uncomitted files to the remote

$ sh /home/coder/pull_remote.sh # get latest files from the remote

Todo:

  • Make push_remote and pull_remote commands in path
  • Impliment file watcher or auto file sync in VS Code
  • Attach a "push" on a git stash??
  • Add support for SSH / VS Code remote access
  • Make rclone logs visible in environment for debugging