Skip to main content

Deployment Overview

CodeRunner is self-hosted. You run the control plane and the per-student workspace containers on a machine you control; there is no managed SaaS.

:::tip Recommended for new deployments

Start with Local Deployment. It is the simplest setup and works well for most teams running CodeRunner in a classroom or at team meetings.

:::

Choose a deployment route

Run CodeRunner on a lab PC, spare laptop, or mini PC. Students connect over the same trusted local network. Setup is a small .env file followed by docker compose up.

See Local Deployment.

Google Cloud Deployment (advanced)

Use the Terraform-based Google Cloud setup when students need remote access at a stable public URL. It provisions a VM, HTTPS, automated releases, monitoring, and persistent storage. This route requires a domain, a GCP project with billing, and more infrastructure experience.

You can stop the VM between seasons; see Seasonal Teardown.

See Google Cloud Deployment.

What both need

Regardless of shape, every non-demo deployment needs:

  • OAuth credentials. Login is via GitHub and/or Google sign-in through Better Auth; at least one provider must be configured. Register your apps first; see OAuth Credentials.
  • Docker. Each active student runs in a per-student workspace container (sim + editor), so the host needs a working Docker Engine.

Cloudflare Offline Page (advanced, optional)

Google Cloud deployments can optionally add a Cloudflare Pages layer so students see a styled offline screen while the VM is powered down. This is not needed for local deployments. See Cloudflare Offline Page.