Skip to content
This repository has been archived by the owner on Apr 21, 2024. It is now read-only.
/ myspace Public archive

Self-hosted GitHub Codespaces using your own hypervisor and the VS Code Server.

License

Notifications You must be signed in to change notification settings

YoRyan/myspace

Repository files navigation

myspace

myspace is GitHub Codespaces but self-hosted. It builds development containers using the Dev Container CLI and injects the Visual Studio Code Server for access via browser or through a vscode.dev tunnel.

It retains all of your Visual Studio Code tooling and preferences.

It has no dependencies (except for the Dev Container CLI, which itself has no dependencies), so it's easy to deploy on lightweight container hosts like Flatcar Linux and Fedora CoreOS.

And, most importantly, it lets you combine the convenience of Codespaces with the power of the hardware you already own.

Build it

npm run build
./out/myspace help

Use it

Start a project:

git clone https://github.com/microsoft/vscode-remote-try-python.git ~/Projects/vscode-remote-try-python

Spin up the container:

myspace ~/Projects/vscode-remote-try-python/ up

Authenticate with GitHub, create the tunnel:

myspace ~/Projects/vscode-remote-try-python/ tunnel

Or try the standalone web server to bypass the latency of a vscode.dev tunnel:

myspace ~/Projects/vscode-remote-try-python/ local 8000
# Web UI is available at http://0.0.0.0:8000

Upon connecting with a browser using either method, the container will download code-server. Once that happens, you will be able to install any extensions defined in devcontainer.json:

myspace ~/Projects/vscode-remote-try-python/ extensions

If you're using a tunnel and have finished working, you can disconnect it to free one of your five slots:

myspace ~/Projects/vscode-remote-try-python/ unregister