Bun · 1.2.23
Hospedagem Bun 24/7
Bun é runtime, gerenciador de pacotes e executor de TypeScript no mesmo binário — então o build tem menos etapas. A plataforma roda bun install quando constrói a imagem e executa o comando declarado em START.
Quem desenhou o Bun
Jarred Sumner anunciou o Bun em 2021 e a primeira versão pública veio em 2022: um runtime JavaScript e TypeScript escrito em Zig, usando o JavaScriptCore da Apple, com bundler e gerenciador de pacotes no mesmo executável. A tese era parar de encadear Node, npm, um empacotador e o tsc para um ciclo curto. O arquivo TypeScript roda sem um compilador à parte — a família da linguagem é a do JavaScript, com outro motor.

Jarred Sumner
X · @jarredsumner
Um executável no lugar de cinco
Runtime, bundler e instalador de pacotes no mesmo binário. O propósito era o ciclo curto: parar de encadear Node, npm, um empacotador e o tsc para um script que muda toda semana.
Feito para arrancar rápido
Zig e JavaScriptCore no lugar da stack clássica do Node. A diferença que Sumner vendia era tempo até o processo escutar a porta, não uma linguagem nova.
TypeScript no mesmo motor
O arquivo .ts roda sem um compilador à parte. Continua sendo a família JavaScript — outro runtime, o mesmo idioma da página e do servidor.
O que a plataforma faz por um projeto Bun
Um binário só no container: não há tsc separado, nem npm ao lado, nem etapa de bundle obrigatória.
bun install no build
As dependências são resolvidas quando a imagem é construída, com o lockfile do repositório respeitado. Menos etapas no build é mais folga dentro do teto de 5 minutos que todo deploy tem aqui.
TypeScript sem passo de build
MAIN=index.ts e START=bun run index.ts bastam: o próprio runtime executa .ts e .tsx. Não há dist para gerar, tsconfig obrigatório para o start, nem executor separado a instalar.
Versão atual, sem configurar nada
1.2.23 é a recomendada e a mais recente. Sem VERSION no vertracloud.config, o app usa a recomendada; para fixá-la, declare VERSION=1.2.23.
Auto-restart com freio
O processo que cai é reiniciado sozinho, em qualquer plano: uma promessa rejeitada sem catch não derruba o serviço. Se ele quebrar 5 vezes em 10 minutos, o auto-restart é desativado por 24 horas, e o último stack trace fica salvo no log de crash.
O que as pessoas rodam em Bun aqui
O ganho aparece onde o ciclo é curto: script que muda toda semana, API pequena, worker que você reimplanta direto do editor.
APIs com Bun.serve, Elysia e Hono
Publique a aplicação e ela ganha um subdomínio em vertraweb.app com TLS. Bun.serve devolve a porta que abriu: confira que é a declarada em PORT e que o host é 0.0.0.0, porque em localhost a requisição externa dá timeout.
Bots e processos de background
discord.js roda em Bun como processo sem porta HTTP. O token vai nas variáveis de ambiente do painel, nunca num .env dentro do zip.
Scripts e rotinas em TypeScript
Coletor, sincronização, tarefa agendada: o arquivo .ts é o entry point, sem etapa intermediária entre o que você edita e o que roda no container.
Estado e cache num banco gerenciado
Crie um Redis 7 ou um PostgreSQL 17 no painel e conecte pelo cliente que já vem no próprio Bun. TLS é obrigatório: o certificado e a senha saem prontos do painel, e o script guarda ali o estado entre uma execução e outra.
Versões de Bun disponíveis
1.2.23 é a recomendada e também a mais recente. Para fixá-la, declare VERSION no vertracloud.config.
| Versão | vertracloud.config | Status |
|---|---|---|
| 1.2.23 | VERSION=1.2.23 | RecomendadaMais recente |
A configuração inteira
O vertracloud.config é um arquivo INI opcional na raiz do projeto. MAIN aponta o arquivo de entrada em TypeScript; START é o comando do runtime; BUILD roda uma vez por deploy antes de o app subir; VERSION escolhe o Bun; MEMORY define o teto de RAM.
NAME=minha-api
MAIN=index.ts
START=bun run index.ts
VERSION=1.2.23
MEMORY=512Um plano para cada fase do projeto
A memória e o armazenamento mudam por plano; a linguagem, não. Compare o que cada plano libera e escolha o que cabe no projeto agora.
Comparar planosTambém roda aqui
Mesma plataforma, mesmo deploy, outra stack.
Perguntas frequentes sobre hospedagem Bun
Cinco perguntas que aparecem no primeiro deploy de um projeto Bun.
Preciso compilar o TypeScript antes de subir?
Não. O Bun executa .ts direto: aponte o MAIN para o arquivo e deixe o START como bun run index.ts. Se o seu projeto já gera uma saída empacotada, ela também funciona — a pasta de build não é removida do zip.
A aplicação quebra com Cannot find module. O que houve?
O pacote não está em dependencies do package.json — em devDependencies ele não é instalado no build. Mova a dependência de execução para dependencies e faça o deploy de novo.
Posso enviar node_modules no zip para ganhar tempo?
Não envie. Módulo nativo compilado na sua máquina não roda no container, e a plataforma compila para Linux durante o build. node_modules também é o que mais infla o pacote, que tem limite de 100 MB.
A API sobe, mas o subdomínio não responde.
Duas causas. O servidor precisa escutar em 0.0.0.0 e na porta declarada em PORT; e a aplicação precisa estar publicada na web, o que exige 512 MB de RAM e está disponível a partir do plano Pro.
Posso trocar a versão do Bun depois de subir?
Hoje o Bun roda na 1.2.23. Quando outras versões entrarem no catálogo, basta mudar VERSION no vertracloud.config e fazer o deploy de novo: a imagem é reconstruída, o bun install roda outra vez e o container reinicia no fim do processo.
Suba seu projeto Bun hoje
Crie a conta, envie um zip com o package.json e o seu arquivo .ts, ou conecte o repositório do GitHub: o bun install aparece linha a linha no terminal do painel.
Criar conta