Runtime overview
Every project stores an API runtime_kind. This page maps each kind to how erfa3ly builds and hosts your app.
Platform operators can disable specific runtimes via server configuration. If a runtime is unavailable in your workspace, the create flow will surface that limitation—contact support if you expect it to be enabled.
Quick comparison
| Runtime kind | What it is | Hosting model |
|---|---|---|
nodejs_ssr | Next.js and other Node SSR frameworks detected for server rendering | Docker container behind edge proxy; loopback health checks |
next_static_export | Next.js output: 'export' and other static export layouts | Static files on the edge (no Node process) |
react_static | Vite, Create React App, and similar SPAs built to a static folder | Static files on the edge |
static_html | Pre-built HTML/CSS/JS or sites without an npm build step | Static files on the edge |
nodejs_service | Long-running Node servers (Express, Nest, Fastify, etc.) | Docker container; configurable start command and health path |
laravel_app | Laravel PHP applications | Docker container; public as web root; optional queue/scheduler flags in wizard |
php_app | Generic PHP apps (not Laravel-specific) | Docker container; Composer install options |
custom_dockerfile | Your Dockerfile at repo root (or root directory) | Image build without source mutation; listen port from runtime options |
Managed database attachment
When creating a project, the wizard can provision or attach a managed database for container-style runtimes: Node SSR, Node services, custom Dockerfile, PHP, and Laravel. Static artifact runtimes do not use this path in the same way—wire databases from your API backend or external services.