Documentation menu

Every framework Light Cloud detects and builds - full-stack and backend apps as containers, static frontends on the CDN, and Dockerfile for the rest.

Frameworks

Light Cloud reads your repository and picks the right build. Static frontends go to the CDN, everything else runs as a container on Cloud Run. This page is the complete list of what detection recognises.

Full-stack#

Server-rendered apps run as containers that scale to zero when idle:

Every framework name links to its deploy guide.

FrameworkRuntimeDefault portNotes
Next.jsNode.js3000Static export serves from the CDN
NuxtNode.js3000
SvelteKitNode.js3000
RemixNode.js3000
AstroNode.js-Static output, served from the CDN
DjangoPython8000
Ruby on RailsRuby3000
LaravelPHP8080
SymfonyPHP8080
WordPressPHP8080One-click database wiring; also a stack
Blazor.NET8080
WaspNode.js8080Powers the Open SaaS template

Frontend#

Static builds served from a global CDN, with free bandwidth. Detection also knows each framework's default output directory:

FrameworkOutput directory
Reactdist
Vuedist
Angulardist/browser
Sveltedist
SolidJSdist
Qwikdist
Gatsbypublic
Docusaurusbuild
Eleventy_site
Astrodist
Next.js static exportout
Plain HTML, CSS, and JavaScript. (the repository root)

Hugo and Jekyll are not built on the platform yet - each needs its own toolchain in the build image. Build locally and deploy the output as static HTML.

Backend#

APIs and servers run as containers, on any of eight runtimes. A plain runtime with no framework works too - a bare Node script or Go module deploys the same way:

FrameworkRuntimeDefault port
ExpressNode.js8080
FastifyNode.js3000
NestJSNode.js3000
AdonisJSNode.js3333
HonoNode.js3000
Plain Node.jsNode.js8080
FastAPIPython8000
FlaskPython8000
Plain PythonPython8000
GinGo8080
EchoGo8080
FiberGo8080
Plain GoGo8080
Spring BootJava8080
QuarkusJava8080
Plain JavaJava8080
SinatraRuby3000
Plain RubyRuby3000
ASP.NET.NET8080
Plain PHPPHP8080
DockerfileAny8080

The port is where traffic is routed and what PORT is set to - change it in Build settings if your server listens elsewhere. A repository with a Dockerfile runs as is, whatever is inside - see Deploy with a Dockerfile.

How detection works#

Light Cloud reads the repository and works out the whole build without configuration:

  • Framework - from dependencies and config files. next.config.js, vite.config.ts, angular.json, and their peers are parsed to find where the build output lands.
  • Package manager - from the lockfile. pnpm-lock.yaml, yarn.lock, or package-lock.json decide whether the install step runs pnpm, yarn, or npm - with a lockfile present, installs are exact (npm ci).
  • Build command and output directory - from the framework and your package.json scripts. The defaults per framework are tabled under Build settings.
  • Dockerfile - a Dockerfile in the repo always wins and runs the app as a container, exactly as written. Without one, Light Cloud generates a Dockerfile for the detected framework; generated Node images run on Node 22. See Builds.

Every detected value is shown before the first deploy and can be overridden - per application, and again per environment. See Deployments.

Not sure what you'll get?#

Create the application and look at the detected settings before deploying - nothing builds until you confirm. If your setup is unusual, set the build command and output directory by hand and the detection stays out of the way.

Deploy guides#

Every framework above has its own deploy guide - click its name in the tables, or expand Frameworks in the sidebar for the full list. The most-trodden paths: