Saltar al contenido principal

Requisitos

  • Elixir 1.20 (OTP 28) instalado localmente
  • Cuenta en Vertra Cloud
  • Un proyecto con un mix.exs en la raíz

Estructura del proyecto

La plataforma detecta Elixir a partir de mix.exs. Ejecuta mix deps.get y compila con MIX_ENV=prod. Inicia la aplicación con mix run --no-halt o con mix phx.server cuando el proyecto depende de :phoenix.

Configuración

vertracloud.config

MAIN es mix.exs.

Phoenix

Phoenix es compatible. Define estas variables en Entorno: En config/runtime.exs, vincula a todas las interfaces y lee el puerto del entorno:
Ejecuta mix assets.deploy localmente antes de comprimir el proyecto, o usa un proyecto sin assets (mix phx.new --no-assets). Luego incluye en el zip los archivos estáticos generados.

Ejemplo: servidor Plug

Despliegue

  1. Comprime el proyecto en un .zip o súbelo a GitHub.
  2. En el panel, haz clic en Nuevo proyecto y sube el .zip o pega la URL del repositorio.
  3. En Build, revisa el runtime (Elixir), el archivo principal (mix.exs) y la memoria. Los comandos de inicio y de build están en Ajustes avanzados.
  4. Agrega tus variables de entorno en Entorno.
  5. En Red, activa Publicación web para que la aplicación obtenga una dirección *.vertraweb.app (plan Pro o superior, 512 MB de memoria). La aplicación debe escuchar en el puerto 80.
  6. Revisa y despliega. Sigue la salida en la pestaña Logs.
La guía completa está en Primer despliegue.

Versiones disponibles

Notas

  • Compilación: las dependencias y la compilación se ejecutan durante el despliegue con MIX_ENV=prod
  • Excluir del zip: las carpetas _build y deps
  • Variables de entorno: léelas en config/runtime.exs con System.get_env/1
  • Logs: usa Logger para los logs que aparecen en tiempo real
  • Escucha en 0.0.0.0 en el puerto 80

Errores comunes

  • Falta SECRET_KEY_BASE o PHX_HOST: una aplicación Phoenix no arranca sin ellas. Agrega ambas en Entorno y reinicia.
  • Faltan los assets de Phoenix: ejecuta mix assets.deploy antes de comprimir, o usa un proyecto sin assets.
  • El sitio no abre: el endpoint debe vincularse a 0.0.0.0 y al puerto 80, no a 127.0.0.1 ni al 4000.
Última modificación el 26 de octubre de 2026