Bun · 1.2.23
Hosting Bun 24/7
Bun es runtime, gestor de paquetes y ejecutor de TypeScript en el mismo binario — así que el build tiene menos etapas. La plataforma ejecuta bun install cuando construye la imagen y corre el comando declarado en START.
Quién diseñó Bun
Jarred Sumner anunció Bun en 2021 y la primera versión pública llegó en 2022: un runtime de JavaScript y TypeScript escrito en Zig, usando JavaScriptCore de Apple, con bundler y gestor de paquetes en el mismo ejecutable. La tesis era dejar de encadenar Node, npm, un empaquetador y tsc para un ciclo corto. El archivo TypeScript corre sin un compilador aparte — la familia del lenguaje es JavaScript, con otro motor.

Jarred Sumner
X · @jarredsumner
Un ejecutable en lugar de cinco
Runtime, bundler e instalador de paquetes en el mismo binario. El propósito era el ciclo corto: dejar de encadenar Node, npm, un empaquetador y tsc para un script que cambia cada semana.
Hecho para arrancar rápido
Zig y JavaScriptCore en lugar de la stack clásica de Node. La diferencia que vendía Sumner era el tiempo hasta que el proceso escucha el puerto, no un lenguaje nuevo.
TypeScript en el mismo motor
El archivo .ts corre sin un compilador aparte. Sigue siendo la familia JavaScript — otro runtime, el mismo idioma de la página y del servidor.
Lo que la plataforma hace por un proyecto Bun
Un solo binario en el contenedor: no hay tsc aparte, ni npm al lado, ni etapa de bundle obligatoria.
bun install en el build
Las dependencias se resuelven cuando se construye la imagen, respetando el lockfile del repositorio. Menos etapas en el build es más holgura dentro del techo de 5 minutos que tiene todo despliegue aquí.
TypeScript sin paso de build
MAIN=index.ts y START=bun run index.ts bastan: el propio runtime ejecuta .ts y .tsx. No hay dist que generar, ni tsconfig obligatorio para arrancar, ni ejecutor aparte que instalar.
Versión actual, sin configurar nada
1.2.23 es la recomendada y la más reciente. Sin VERSION en el vertracloud.config, la app usa la recomendada; para fijarla, declara VERSION=1.2.23.
Auto-reinicio con freno
El proceso que cae se reinicia solo, en cualquier plan: una promesa rechazada sin catch no tumba el servicio. Si se rompe 5 veces en 10 minutos, el auto-reinicio se desactiva durante 24 horas, y el último stack trace queda guardado en el log de crash.
Lo que la gente ejecuta en Bun aquí
La ganancia aparece donde el ciclo es corto: un script que cambia cada semana, una API pequeña, un worker que redespliegas desde el editor.
APIs con Bun.serve, Elysia y Hono
Publica la aplicación y recibe un subdominio en vertraweb.app con TLS. Bun.serve devuelve el puerto que abrió: comprueba que sea el declarado en PORT y que el host sea 0.0.0.0, porque en localhost la petición externa da timeout.
Bots y procesos en segundo plano
discord.js corre en Bun como proceso sin puerto HTTP. El token va en las variables de entorno del panel, nunca en un .env dentro del zip.
Scripts y rutinas en TypeScript
Un recolector, una sincronización, una tarea programada: el archivo .ts es el punto de entrada, sin etapa intermedia entre lo que editas y lo que corre en el contenedor.
Estado y caché en una base gestionada
Crea un Redis 7 o un PostgreSQL 17 en el panel y conéctate con el cliente que ya trae el propio Bun. TLS es obligatorio: el certificado y la contraseña salen listos del panel, y el script guarda ahí su estado entre una ejecución y otra.
Versiones de Bun disponibles
1.2.23 es la recomendada y también la más reciente. Para fijarla, declara VERSION en el vertracloud.config.
| Versión | vertracloud.config | Estado |
|---|---|---|
| 1.2.23 | VERSION=1.2.23 | RecomendadaMás reciente |
La configuración entera
El vertracloud.config es un archivo INI opcional en la raíz del proyecto. MAIN apunta al archivo de entrada en TypeScript; START es el comando del runtime; BUILD se ejecuta una vez por despliegue antes de que la app inicie; VERSION elige el Bun; MEMORY define el techo de RAM.
NAME=minha-api
MAIN=index.ts
START=bun run index.ts
VERSION=1.2.23
MEMORY=512Un plan para cada etapa del proyecto
La memoria y el almacenamiento cambian según el plan; el lenguaje, no. Compara lo que abre cada plan y elige el que le sirve al proyecto hoy.
Comparar planesTambién corre aquí
Misma plataforma, mismo deploy, otro stack.
Preguntas frecuentes sobre hosting Bun
Cinco preguntas que aparecen en el primer despliegue de un proyecto Bun.
¿Tengo que compilar el TypeScript antes de subir?
No. Bun ejecuta .ts directamente: apunta el MAIN al archivo y deja el START como bun run index.ts. Si tu proyecto ya genera una salida empaquetada, también funciona — la carpeta de build no se elimina del zip.
La aplicación se rompe con Cannot find module. ¿Qué pasó?
El paquete no está en dependencies del package.json — en devDependencies no se instala en el build. Mueve la dependencia de ejecución a dependencies y vuelve a desplegar.
¿Puedo enviar node_modules en el zip para ganar tiempo?
No lo envíes. Un módulo nativo compilado en tu máquina no corre en el contenedor, y la plataforma compila para Linux durante el build. node_modules es además lo que más infla el paquete, que tiene un límite de 100 MB.
La API arranca, pero el subdominio no responde.
Dos causas. El servidor debe escuchar en 0.0.0.0 y en el puerto declarado en PORT; y la aplicación debe estar publicada en la web, lo que exige 512 MB de RAM y está disponible a partir del plan Pro.
¿Puedo cambiar la versión de Bun después de subir?
Hoy Bun se ejecuta en la 1.2.23. Cuando otras versiones entren al catálogo, basta cambiar VERSION en el vertracloud.config y volver a desplegar: la imagen se reconstruye, bun install se ejecuta de nuevo y el contenedor se reinicia al final del proceso.
Sube tu proyecto Bun hoy
Crea la cuenta, envía un zip con el package.json y tu archivo .ts, o conecta el repositorio de GitHub: el bun install aparece línea a línea en la terminal del panel.
Crear cuenta