DeploxaDeploxa/Docs
Back to site
  • Overview
  • How It's Built
  • Quick Start
  • Frameworks
  • Deployments
  • Custom Domains

Frameworks

Supported frameworks

Deploxa auto-detects your framework from your repository and pre-configures the build pipeline. You can override any detected setting in project settings.

Next.js (SSR & static), static SPAs (React/Vite/Vue/Astro/HTML), Node.js, and Docker.

How detection works

Deploxa scans your repository's file tree for config files and dependency names in package.json, and reads next.config.* to tell a static-export Next.js app from a server-rendered one. The output directory is auto-detected after the build, so a mismatched setting won't fail your deploy. If nothing matches and a Dockerfile exists, Docker mode is used. You can always override the framework in project settings.

Next.js

FrameworkDetection signalBuild commandOutput dirNotes
Next.js (SSR)next.config.* without output:'export'OpenNextserver Lambda + S3 assetsServer-rendered via OpenNext: pages/API on a Lambda, assets + images on S3, with a Next.js image-optimization Lambda (falls back to the original image if optimization is unavailable). ISR / on-demand revalidation is in preview.
Next.js (static export)output:'export' in next.config.*next buildoutFully static — served directly from S3. No server runtime.

Static (S3)

FrameworkDetection signalBuild commandOutput dirNotes
React (Vite)vite.config.* + reactvite builddistSPA mode. Output directory is auto-detected if it differs.
React (CRA)react-scriptsreact-scripts buildbuildCreate React App. Output directory auto-detected (build).
Vitevite.config.*vite builddistAny Vite app. Reads build.outDir from vite.config when set.
Vuevue dependencyvite builddistVue 3 SPA.
Astro (static)astro.config.*astro builddistStatic output mode.
Static HTMLindex.html, no package.json—repo rootPlain HTML/CSS/JS — uploaded as-is.

Node.js (serverless)

FrameworkDetection signalBuild commandOutput dirNotes
Node.js / Expressexpress / start script——Deployed as a Lambda function with a public URL.

Docker / Container

FrameworkDetection signalBuild commandOutput dirNotes
DockerDockerfiledocker build—Any language, any runtime. Runs as an ECS Fargate service.

Override detected settings

Go to Project → Settings → Build & Output to manually configure:

Framework preset — Override auto-detection and select a specific framework.
Build command — Replace the default build command with any shell command.
Output directory — Point to the directory containing your built assets (auto-detected by default).
Install command — Default: npm install.
Node.js version — Select Node.js 18, 20, or 22.

Docker / Custom runtimes

If your project has a Dockerfile in the root, Deploxa builds and runs it as a container. This supports any language or runtime — Rust, Go, Ruby, PHP, Java, and more.

Example Dockerfile (Node.js)

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["node", "dist/server.js"]

Your container must listen on the port specified by the PORT environment variable (injected automatically at runtime). Expose any port in your Dockerfile — Deploxa routes traffic to it.

Need a framework not listed?Deployments guide