Deno · 2.9.8

Hosting Deno 24/7

Sube una API con Deno.serve, un bot o un worker y déjalo corriendo. La plataforma reconoce el proyecto por el deno.json o el deno.lock y ejecuta el comando con deno run, en contenedor aislado y con reinicio automático cuando el proceso cae.

Origen

Quién diseñó Deno

Ryan Dahl creó Node.js en 2009 y, en 2018, presentó Deno en la JSConf EU con una lista de lo que haría distinto. Escrito en Rust sobre V8, Deno 1.0 salió en mayo de 2020 con TypeScript nativo y un modelo de permisos. Deno 2, de octubre de 2024, pasó a ejecutar proyectos con package.json y módulos de npm.

Ryan Dahl

David Calhoun · CC BY 2.0

Permisos explícitos desde el origen

Deno nació negando por defecto el acceso a archivos, red y variables de entorno, que se concede con flags --allow-*. En Vertra la app corre con permisos completos (-A) dentro de un contenedor aislado, así que no hay flag que declarar.

TypeScript de fábrica

Un único binario ejecuta, formatea, prueba y verifica tipos. No hay tsconfig obligatorio, compilador aparte ni paso de bundling para empezar.

Estándares web primero

fetch, Request, Response y streams son los mismos que define la web. Lo que el navegador ya especifica, Deno lo usa en lugar de inventar una API propia.

Qué hace la plataforma por un proyecto Deno

TypeScript de fábrica y un único comando de arranque; la plataforma se encarga del contenedor alrededor.

Detección por deno.json y deno.lock

Con un deno.json o un deno.lock en la raíz del proyecto, la plataforma entiende que es Deno y elige el runtime sola. Tú solo declaras el MAIN y, si quieres, el START.

TypeScript sin paso de build

Deno ejecuta .ts y .tsx directamente. No hay dist que generar, tsc que configurar ni bundler en el camino: el archivo del MAIN es el que corre.

Dos versiones, una línea de config

La 2.9.8 es la recomendada y la más reciente; la 2.8.3 sigue disponible. Cambiar es modificar VERSION en el vertracloud.config y volver a desplegar — no hay imagen que elegir ni Dockerfile que mantener.

Auto-reinicio con freno

Una promesa rechazada sin tratar no deja el servicio caído: el proceso se reinicia solo, en cualquier plan. Si se rompe 5 veces en 10 minutos, la plataforma marca crash loop y apaga el auto-reinicio durante 24 horas. Salir con exit code 0 no dispara reinicio.

Qué ejecuta la gente en Deno aquí

Servicios pequeños y directos, donde el runtime ya trae el servidor, TypeScript y los permisos.

APIs con Deno.serve, Hono y Oak

Publica la aplicación para recibir un subdominio en vertraweb.app con TLS. El servidor debe escuchar en 0.0.0.0 en el puerto declarado en PORT — lo que escucha en localhost nunca ve la petición que llega de fuera.

Bots de Discord y Telegram

Un bot es un proceso sin puerto HTTP. El token va en las variables de entorno del panel, leídas con Deno.env.get, nunca en un archivo .env dentro del zip.

Workers y tareas en segundo plano

Consumidor de cola, rutina programada con Deno.cron, scraper: el contenedor queda en pie 24/7 y el panel muestra la RAM real junto al tope del MEMORY.

Funciones y servicios en TypeScript puro

El código que ya corres en local con deno run sube igual. Las dependencias por npm: o jsr: siguen valiendo, y el deno.lock mantiene la misma resolución de un despliegue a otro.

Versiones de Deno disponibles

La 2.9.8 es la recomendada y también la más reciente; la 2.8.3 sigue disponible. Sin VERSION en el vertracloud.config, la aplicación arranca en la recomendada.

Versiónvertracloud.configEstado
2.9.8VERSION=2.9RecomendadaMás reciente
2.8.3VERSION=2.8

La configuración completa

El vertracloud.config es un archivo INI opcional en la raíz del proyecto. MAIN apunta al archivo de entrada, que la plataforma ejecuta con deno run -A; VERSION elige la línea de Deno; MEMORY define el tope de RAM.

vertracloud.config
NAME=minha-api
MAIN=main.ts
VERSION=2.9
MEMORY=512

Un 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 planes

También corre aquí

Misma plataforma, mismo deploy, otro stack.

Preguntas frecuentes sobre hosting Deno

Permisos, versión y puerto: las dudas más frecuentes de quien sube Deno.

¿Qué versiones de Deno puedo usar?

La 2.9.8 es la recomendada y la más reciente, y la 2.8.3 sigue disponible. La elección se hace con la clave VERSION en el vertracloud.config; sin ella, la aplicación arranca en la recomendada.

¿Tengo que declarar los permisos de Deno (--allow-*)?

No. La plataforma ejecuta deno run -A, con todos los permisos concedidos dentro del contenedor aislado. Si sobrescribes el START, pasas a ser responsable de las flags: sin --allow-net, por ejemplo, el servidor no puede abrir el puerto.

¿Necesito un package.json?

No. Basta un deno.json, y puedes importar desde npm: y jsr:. Si el proyecto ya tiene un package.json por compatibilidad con Node, sigue funcionando.

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.

¿Cómo paso secretos a la app?

Por la pestaña de variables de entorno del panel: se inyectan en el contenedor al arrancar y quedan cifradas en reposo. La plataforma no lee archivos .env; lee los valores con Deno.env.get.

Sube tu proyecto Deno hoy

Crea la cuenta, sube un zip con el deno.json y tu archivo de entrada, o conecta el repositorio de GitHub, y sigue el arranque del proceso en la terminal del panel.

Crear cuenta