Skip to main content

Runtimes suportados

Quando seu projeto não tem Dockerfile, o AmbarksCloud tenta preparar o deploy usando o runtime escolhido no dashboard (ou detectado pelos arquivos do projeto).

Tabela de runtimes

RuntimeComo costuma ser detectadoPorta comumComando padrão (exemplo)
Node.jspackage.json3000npm start
Pythonruntime python8000python main.py
Rustruntime rust8080cargo run --release
PHPruntime php8000php -S 0.0.0.0:8000 -t public
Site estáticoindex.html80servidor estático

Versões de Node/Python (como confirmar)

Quando o AmbarksCloud precisa gerar um Dockerfile automaticamente (porque não existe um Dockerfile no projeto), o backend usa as imagens base abaixo:
RuntimeImagem base
Node.jsnode:22-alpine
Pythonpython:3.11-slim
PHPphp:8.2-cli
Se você precisa fixar outra versão (ou instalar pacotes do sistema), prefira Dockerfile. Para confirmar o que está rodando no seu container, você pode imprimir versão no start:
  • Verifique os logs de deploy (geralmente mostram a versão do runtime).
  • Se necessário, adicione um comando que imprima versão no início do start, por exemplo:
    • Node.js: node -v
    • Python: python --version

Node.js

Tenha um package.json com script start:
{
  "scripts": {
    "start": "node server.js",
    "build": "vite build"
  }
}
Se precisar rodar build antes do start, configure ambarks.json.

Python

O padrão espera um arquivo main.py:
python-app/
  main.py
  requirements.txt
Para Flask, FastAPI ou outro comando, use ambarks.json.

Rust

Inclua Cargo.toml e mantenha o comando de execução compatível com cargo run --release, ou defina outro comando em ambarks.json.

PHP

O padrão publica usando a pasta public. Se seu projeto usa outra pasta ou framework com comando específico, prefira Dockerfile.

Site estático

Projetos com index.html podem ser publicados como site estático. Para projetos com build (Vite, Astro etc.), use ambarks.json para gerar a pasta final ou Dockerfile para controlar o processo.

Quando escolher Dockerfile

Use Dockerfile quando:
  • O projeto precisa instalar pacotes do sistema.
  • Há múltiplos processos ou comandos complexos.
  • O runtime automático não cobre sua linguagem.
  • Você precisa controlar versões, usuário, pastas ou binários.