Frameworks
Deploxa auto-detects your framework from your repository and pre-configures the build pipeline. You can override any detected setting in project settings.
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.
| Framework | Detection signal | Build command | Output dir | Notes |
|---|---|---|---|---|
| Next.js (SSR) | next.config.* without output:'export' | OpenNext | server Lambda + S3 assets | Server-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 build | out | Fully static — served directly from S3. No server runtime. |
| Framework | Detection signal | Build command | Output dir | Notes |
|---|---|---|---|---|
| React (Vite) | vite.config.* + react | vite build | dist | SPA mode. Output directory is auto-detected if it differs. |
| React (CRA) | react-scripts | react-scripts build | build | Create React App. Output directory auto-detected (build). |
| Vite | vite.config.* | vite build | dist | Any Vite app. Reads build.outDir from vite.config when set. |
| Vue | vue dependency | vite build | dist | Vue 3 SPA. |
| Astro (static) | astro.config.* | astro build | dist | Static output mode. |
| Static HTML | index.html, no package.json | — | repo root | Plain HTML/CSS/JS — uploaded as-is. |
| Framework | Detection signal | Build command | Output dir | Notes |
|---|---|---|---|---|
| Node.js / Express | express / start script | — | — | Deployed as a Lambda function with a public URL. |
| Framework | Detection signal | Build command | Output dir | Notes |
|---|---|---|---|---|
| Docker | Dockerfile | docker build | — | Any language, any runtime. Runs as an ECS Fargate service. |
Go to Project → Settings → Build & Output to manually configure:
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.