Next.js
Full-stack React framework. Static exports and server-rendered apps both work.
pipx install varitykitvaritykit app deployVarity automatically detects your framework when you run varitykit app deploy. You do not need to specify your framework manually.
If your app is already packaged as a Docker image, framework detection does not apply. Public and private runnable Docker/OCI HTTP service images are supported:
varitykit app deploy --image ghcr.io/acme/my-api:1.4.2 --port 8080Private registries are supported from the CLI, MCP, and Developer Portal. See Deploy a Docker Image for all three deploy paths.
The following frameworks work today. Varity detects them from your project files and configures hosting automatically.
Next.js
Full-stack React framework. Static exports and server-rendered apps both work.
pipx install varitykitvaritykit app deployReact
Client-side React apps built with Vite or Create React App.
pipx install varitykitvaritykit app deployVue
Vue 3 single-page applications.
pipx install varitykitvaritykit app deployAstro
Astro apps, including static documentation or content sites.
pipx install varitykitvaritykit app deployQwik
Qwik and QwikCity projects.
pipx install varitykitvaritykit app deployVite SPA
Vite projects are auto-detected and deployed as static apps.
pipx install varitykitvaritykit app deployExpress
Node.js HTTP server with Express.
pipx install varitykitvaritykit app deployFastify
High-performance Node.js API server.
pipx install varitykitvaritykit app deployNest.js
Opinionated Node.js framework for scalable server-side apps.
pipx install varitykitvaritykit app deployKoa
Lightweight Node.js middleware framework.
pipx install varitykitvaritykit app deployHono
Ultra-fast edge-friendly web framework for Node.js.
pipx install varitykitvaritykit app deployFastAPI
Modern async Python API framework.
pipx install varitykitvaritykit app deployDjango
Full-featured Python web framework.
pipx install varitykitvaritykit app deployFlask
Lightweight Python web framework.
pipx install varitykitvaritykit app deployGo modules
Go projects with a go.mod file are supported.
pipx install varitykitvaritykit app deployPlain HTML
Static sites with an index.html file are supported.
pipx install varitykitvaritykit app deployThe following languages and frameworks are not auto-detected in the current beta. Deploying them from a repository will fail with a clear error message that includes a link to request support.
| Language / Framework | Repo auto-detection | Workaround |
|---|---|---|
| Rust | Not supported | Deploy as a Docker image |
| Ruby / Rails | Not supported | Deploy as a Docker image |
| Elixir / Phoenix | Not supported | Deploy as a Docker image |
| Java / Spring | Not supported | Deploy as a Docker image |
| Deno | Not supported | Deploy as a Docker image |
| PHP / Laravel | Not supported | Deploy as a Docker image |
| C# / .NET | Not supported | Deploy as a Docker image |
Varity also does not yet offer cron jobs, multi-region deployments, an edge runtime, or preview deploys.
If your framework is in this list, varitykit app deploy will return an error like:
ProjectDetectionError: Found Cargo.toml - Rust deployments are not yet supported.Varity currently supports: Next.js, Astro, React, Vue, Qwik, Vite SPA, Node.js (Express/Fastify/NestJS/Koa/Hono), Python (FastAPI/Django/Flask), Go modules, and plain HTML.Request Rust support at https://github.com/varity-labsNo deployment is started and no charges are incurred.
When you run varitykit app deploy, Varity scans your project directory for these signals:
| Signal | Detected As |
|---|---|
package.json with next dependency | Next.js |
package.json with astro dependency | Astro |
package.json with react (no Next.js) | React |
package.json with vue | Vue |
package.json with @builder.io/qwik or @builder.io/qwik-city | Qwik |
package.json with vite | Vite SPA |
package.json with express | Express |
package.json with fastify | Fastify |
package.json with @nestjs/core | Nest.js |
package.json with koa | Koa |
package.json with hono | Hono |
requirements.txt or pyproject.toml | Python project |
go.mod | Go modules |
index.html with no app framework | Plain HTML |
package.json with scripts.start and no known framework | Node.js |
Detection happens in under a second and requires no configuration from you.
Varity also decides how to host your app based on what it detects:
| App Type | Hosting Mode |
|---|---|
| React or Vue SPA (no server) | Static hosting |
Next.js with output: 'export' in config | Static hosting |
| Next.js with server features | Dynamic hosting |
| Express, Fastify, Koa, Hono, Nest.js | Dynamic hosting |
| FastAPI, Django, Flask | Dynamic hosting |
| Go modules | Dynamic hosting |
| Plain HTML | Static hosting |
You can override the default with a flag:
varitykit app deploy --hosting staticvaritykit app deploy --hosting dynamic