Fazer deploy ↗
docs

Frameworks

Todas as linguagens e frameworks suportados pela Veloz — detecção automática.

A Veloz usa Nixpacks para detectar seu framework e linguagem automaticamente. Não precisa configurar nada — basta rodar veloz deploy.

Se o seu projeto tem requisitos complexos de build, você pode usar um nixpacks.toml para personalizar ou até um Dockerfile próprio — veja Nixpacks vs Dockerfile.

Linguagens suportadas

A Veloz suporta 25+ linguagens via Nixpacks. Cada uma é detectada automaticamente pelo arquivo de projeto (package.json, go.mod, Cargo.toml, etc).

Tier 1 — Detecção automática completa

Linguagem Arquivo detectado Build Start
Node.js package.json npm run build npm start
Python requirements.txt, pyproject.toml, Pipfile pip install python main.py / gunicorn
Go go.mod go build binário compilado
Rust Cargo.toml cargo build --release binário compilado
Java pom.xml (Maven) / build.gradle (Gradle) mvn package / gradle build java -jar
Ruby Gemfile bundle install rails server / ruby app.rb
PHP composer.json composer install php -S 0.0.0.0:80
Elixir mix.exs mix release binário compilado
.NET / C# *.csproj / *.sln dotnet publish dotnet run
Deno deno.json / deno.jsonc deno run
Static Files index.html (sem outro projeto) Caddy

Tier 2 — Suportado via Nixpacks

Linguagem Arquivo detectado
F# *.fsproj
Dart / Flutter pubspec.yaml
Scala build.sbt
Haskell stack.yaml / *.cabal
Crystal shard.yml
Clojure project.clj / deps.edn
Zig build.zig
Swift Package.swift
Gleam gleam.toml
Scheme arquivos .scm
COBOL arquivos .cob / .cbl

Tier 3 — Via nixpacks.toml

Qualquer linguagem pode ser configurada manualmente com um nixpacks.toml na raiz do projeto:

[phases.setup]
nixPkgs = ["lua5_4", "nodejs_22"]
 
[phases.build]
cmds = ["make build"]
 
[start]
cmd = "lua main.lua"

Frameworks Node.js

Aplicações Web (SSR)

Frameworks que rodam um servidor em produção.

Framework Dependência detectada Build Start Porta
Next.js next npm run build npm start 3000
Nuxt nuxt npm run build npm start 3000
Remix @remix-run/node npm run build npm start 3000
SvelteKit @sveltejs/kit npm run build npm start 3000
NestJS @nestjs/core npm run build npm run start:prod 3000
Express express node index.js 3000
Fastify fastify node index.js 3000
Hono hono node index.js 3000

Sites Estáticos (SPA / SSG)

Frameworks que geram arquivos estáticos no build. Servidos automaticamente via Caddy.

Framework Dependência detectada Build Output
Vite + React vite + react npm run build dist
Vite + Vue vite + vue npm run build dist
Vite + Svelte vite + svelte npm run build dist
Vite vite npm run build dist
Astro astro npm run build dist
Gatsby gatsby npm run build public
Create React App react-scripts npm run build build
Angular @angular/core npm run build dist

Node.js genérico

Se nenhum framework específico for detectado mas existirem scripts build ou start no package.json, a Veloz trata como um projeto Node.js genérico:

  • Com script startServiço Web (porta 3000)
  • Sem script startSite Estático (output dist)

Frameworks Python

Framework Detecção Start padrão
Django django em requirements gunicorn project.wsgi
Flask flask em requirements gunicorn app:app
FastAPI fastapi em requirements uvicorn main:app --host 0.0.0.0 --port 3000

Frameworks PHP

Framework Detecção Start padrão
Laravel laravel/framework php artisan serve --port 3000
Symfony symfony/framework-bundle php -S 0.0.0.0:3000 -t public
PHP puro composer.json php -S 0.0.0.0:3000 -t public

Frameworks Ruby

Framework Detecção Start padrão
Rails rails gem rails server -p 3000
Sinatra sinatra gem ruby app.rb

Frameworks Elixir

Framework Detecção Start padrão
Phoenix phoenix em mix.exs Mix release binary
Elixir mix.exs Mix release binary

Como funciona a detecção

  1. Nixpacks analisa os arquivos do projeto (package.json, go.mod, Cargo.toml, etc)
  2. Identifica a linguagem e framework automaticamente
  3. Gera um Dockerfile otimizado com as dependências corretas
  4. Build e start commands são configurados automaticamente

Ordem de prioridade (Node.js)

Se seu projeto tem múltiplas dependências (ex: next + express), a Veloz usa o primeiro match na lista. Next.js tem prioridade sobre Express.

Package managers

A Veloz detecta o package manager pelo lockfile:

Arquivo Package Manager
bun.lockb ou bun.lock Bun
pnpm-lock.yaml pnpm
yarn.lock Yarn
package-lock.json npm

Os comandos de build e start são adaptados automaticamente:

# npm
npm run build && npm start
 
# pnpm
pnpm run build && pnpm start
 
# yarn
yarn build && yarn start
 
# bun
bun run build && bun run start

Quando a detecção não bate

Se a detecção automática não funcionar para o seu caso, sobrescreva via veloz.json ou nixpacks.toml. Veja:

Você também pode sobrescrever durante o primeiro veloz deploy recusando a confirmação automática, a CLI te pergunta build, start e porta.

Próximos passos