GitHub
Cloud Workspace Platform banner

Cloud Workspace Platform

  • React
  • TypeScript
  • Express
  • Prisma
  • PostgreSQL
  • Redis
  • BullMQ
  • Docker
  • Traefik
  • AWS S3

Overview

A self-hosted alternative to cloud development environments: a control plane that hands each user their own containerized workspace with a real editor, and manages the full lifecycle — provisioning, idling, stopping, archiving, and restoring.

Highlights

  • Per-user isolation enforced at the container boundary and routed by Traefik.
  • Idle-timeout auto-stop via background workers reclaims compute without losing work.
  • S3-backed persistence restores a workspace exactly where it left off, even after its container is gone.
  • One API surface for create / list / start / stop / delete, with queue-driven orchestration behind it.

Architecture

Services

  • Frontend — React + TypeScript + Tailwind.
  • API — Express + TypeScript + Prisma, exposing the workspace control-plane endpoints.
  • Worker — BullMQ + Redis processing asynchronous jobs (provision, stop, archive, restore).
  • Proxy — Traefik routing subdomain-style URLs to the correct workspace container.
  • Storage — PostgreSQL for metadata, Docker volumes for live sessions, AWS S3 for archives.

Lifecycle

  1. A create request writes workspace metadata and enqueues a provisioning job.
  2. The worker starts a code-server container with a per-workspace volume and registers routing.
  3. An idle monitor enqueues a stop job; the container is torn down and its archive synced to S3.
  4. On the next request, the archive is pulled back and the container is recreated around it.