Elixir · 1.20.4 (OTP 28)

Hosting Elixir 24/7

Sube una aplicación Phoenix, una API o un worker en Elixir y déjalo corriendo. La plataforma reconoce el proyecto por el mix.exs y lo levanta con mix phx.server si depende de :phoenix, o con mix run --no-halt, en contenedor aislado y con reinicio automático.

Origen

Quién diseñó Elixir

José Valim, brasileño, empezó Elixir en 2011, mientras trabajaba en Plataformatec, tras chocar con los límites de Ruby on Rails en concurrencia. La 1.0 salió en 2014. El lenguaje corre en la BEAM, la máquina virtual de Erlang, creada en Ericsson en los años 1980 para telefonía: muchos procesos ligeros, aislados, que se recuperan de los fallos.

José Valim

Christopher Adams · CC BY 2.0

Concurrencia por procesos

Un proceso Elixir cuesta pocos kilobytes y no comparte memoria con los demás. Miles de ellos conviven, intercambiando mensajes, en el mismo servidor.

Tolerancia a fallos como método

Los supervisores reinician el proceso que se rompió sin tumbar el resto. La filosofía let it crash, heredada de Erlang, trata el fallo como parte del diseño.

Sintaxis moderna sobre base madura

Pipes, pattern matching y macros en un ecosistema con Phoenix y LiveView. La productividad viene de arriba, y la robustez de décadas de telecom viene de abajo.

Qué hace la plataforma por un proyecto Elixir

La máquina virtual de Erlang ya es buena manteniendo procesos en pie; la plataforma se encarga del contenedor alrededor.

Detección por mix.exs

Con un mix.exs en la raíz del proyecto, la plataforma entiende que es Elixir y elige el runtime sola. Las dependencias se instalan y el proyecto se compila con MIX_ENV=prod; no escribes Dockerfile ni eliges imagen.

Elixir 1.20 sobre OTP 28

La 1.20.4 es la versión disponible, sobre OTP 28. Para fijar la línea, declara VERSION en el vertracloud.config; sin ella, la aplicación arranca en la recomendada.

Arranque elegido por el mix.exs

Si el mix.exs depende de :phoenix, la aplicación arranca con mix phx.server; si no, con mix run --no-halt. En producción Phoenix lee SECRET_KEY_BASE y PHX_HOST del entorno: pon ambos en las variables de entorno del panel.

Auto-reinicio con freno

Un proceso que cae no deja el servicio caído: el contenedor 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 Elixir aquí

Cargas con muchas conexiones abiertas a la vez, que es donde aparecen los procesos ligeros de la BEAM.

Phoenix y LiveView

Publica la aplicación para recibir un subdominio en vertraweb.app con TLS. El endpoint debe escuchar en 0.0.0.0 en el puerto declarado en PORT, y el PHX_HOST debe ser el host público que vas a usar.

APIs JSON con Plug y Phoenix

Un servicio sin interfaz, solo rutas y controllers. mix phx.server levanta el endpoint, y el panel muestra la RAM real junto al tope del MEMORY.

Workers con Oban y GenServer

Consumidor de cola, rutina periódica, pipeline de procesamiento: un mix run --no-halt mantiene la aplicación OTP en pie sin exponer ningún puerto.

Bots de Discord y Telegram

Nostrum y Telegex corren como procesos de larga duración. El token va en las variables de entorno del panel, leído con System.get_env, nunca en un archivo dentro del zip.

Versiones de Elixir disponibles

La 1.20.4 es la recomendada y también la más reciente, sobre OTP 28. Sin VERSION en el vertracloud.config, la aplicación arranca en la recomendada.

Versiónvertracloud.configEstado
1.20.4 (OTP 28)VERSION=1.20RecomendadaMás reciente

La configuración completa

El vertracloud.config es un archivo INI opcional en la raíz del proyecto. No hay START que declarar: la plataforma elige entre mix phx.server y mix run --no-halt según el mix.exs. VERSION elige la línea de Elixir; MEMORY define el tope de RAM.

vertracloud.config
NAME=meu-app
MAIN=mix.exs
VERSION=1.20
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 Elixir

Arranque, Phoenix y puerto: las dudas más frecuentes de quien sube Elixir.

¿Qué versión de Elixir puedo usar?

Hoy, la 1.20.4, que es la recomendada y la más reciente, sobre OTP 28. Puedes declarar la línea con la clave VERSION en el vertracloud.config; sin ella, la aplicación arranca en la recomendada.

¿Tengo que elegir entre mix run y mix phx.server?

No. Si el mix.exs depende de :phoenix, la plataforma arranca con mix phx.server; si no, con mix run --no-halt, que evita que el proceso termine apenas el código acaba de cargar.

Phoenix falla al arrancar quejándose de SECRET_KEY_BASE.

En producción exige ese valor en el entorno. Genera uno con mix phx.gen.secret y ponlo en las variables de entorno del panel, junto con PHX_HOST. La plataforma no lee archivos .env.

La aplicación arranca, pero el subdominio no responde.

Dos causas. El endpoint debe escuchar en 0.0.0.0 y en el puerto declarado en PORT, y no solo en 127.0.0.1; 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.

¿Tengo que enviar las carpetas _build y deps en el zip?

No, y no las envíes. Deja _build y deps fuera del paquete: el límite del zip es 100 MB y las dependencias se rehacen en el servidor, para Linux.

Sube tu proyecto Elixir hoy

Crea la cuenta, sube el código con el mix.exs y el mix.lock, o conecta el repositorio de GitHub, y sigue el arranque de la aplicación en la terminal del panel.

Crear cuenta