Lenguaje Fráncfort, Alemania
Nodion reconoce una app PHP por su composer.json. El buildpack de PHP instala tus dependencias con Composer y sirve la app con FrankenPHP desde public/; si lo prefieres, php-fpm se ejecuta detrás de nginx o Apache. La app se ejecuta en Fráncfort, junto a una base de datos MySQL o PostgreSQL gestionada si la necesitas.
composer.json en el Base directorycomposer.json. Un repositorio que solo tiene un index.php no se detecta; si aún no tienes composer.json, basta con uno pequeño como este. La build ejecuta composer install --no-dev --optimize-autoloader, así que todo lo que la app necesita en tiempo de ejecución va en require, no en require-dev. Haz commit de composer.lock para que la build instale las versiones que has probado. composer.json {
"require": {
"php": "8.4.*"
}
} public/ como document root. Si no existe, Nodion usa web/, y si no existe ninguno de los dos, la raíz del repositorio. Pon index.php y tus assets en public/ y deja vendor/, la configuración y el código fuente al lado, para que solo se sirvan los archivos pensados para la web. composer.json
composer.lock
src/
public/
index.php BP_PHP_SERVER con el valor nginx o apache en la pestaña Environment y marca la casilla Build. Apache también lee tus archivos .htaccess. Con cualquier otro valor, la build falla. DATABASE_URL en el siguiente despliegue, solo en tiempo de ejecución. Marca las contraseñas y las claves de API como secretas. release: en un Procfile se ejecuta una vez por build, después de la build y antes de que arranque la nueva versión. Si falla, el despliegue se detiene y la versión en ejecución sigue activa. Deja la herramienta de migraciones, por ejemplo Doctrine Migrations o Phinx, en require. Procfile release: vendor/bin/doctrine-migrations migrate --no-interaction .php-version y después require.php en composer.json; si no hay ninguno de los dos, obtienes PHP 8.3. Un rango elige la versión más reciente que lo cumpla, así que con "^8.2" obtienes PHP 8.5. Para quedarte en una misma versión menor, escribe 8.3 en .php-version o exige "8.3.*".bin/console junto con symfony.lock, ejecuta bin/console cache:warmup --env=prod durante la build y define APP_ENV=prod y APP_DEBUG=0 en tiempo de ejecución. Añade también APP_ENV=prod con la casilla Build marcada, para que los scripts de Composer que se ejecutan durante la instalación no usen dev de tu .env. Nodion no ejecuta asset-map:compile; si usas AssetMapper, añádelo a los auto-scripts de composer.json. Para builds con Encore o Vite, usa un Dockerfile.worker: php bin/worker.php junto con una línea web: explícita, porque sin ella la primera entrada del Procfile que no sea release: se convierte en el comando por defecto. El log de la build muestra el comando de arranque por defecto; para FrankenPHP funciona web: frankenphp php-server --listen :$PORT --root public/. Después añade en la pestaña Processes un proceso llamado worker sin puerto./ responde con 2xx o 3xx. Si / responde con 401 o 404, define en los ajustes de la app una ruta de health check que devuelva 200.DATABASE_URL, REDIS_URL o CLICKHOUSE_URL. release: del Procfile se ejecuta con cada nueva build. Las apps con Dockerfile, así como los redeploys o rollbacks a una imagen anterior, usan un comando de release definido en la propia app, que además tiene prioridad sobre la línea del Procfile. En los sitios estáticos, el paso de release se ejecuta en una imagen que solo contiene los archivos generados por la build. Sí. Nodion detecta PHP solo por el composer.json; basta con un archivo que no pida nada más que PHP. Pon en public/ los archivos PHP que quieras servir.
Sí. Define BP_PHP_SERVER=nginx o BP_PHP_SERVER=apache como variable de build y Nodion ejecuta php-fpm detrás de nginx o Apache httpd. Sin esa variable, FrankenPHP sirve la app.
PHP 8.2, 8.3, 8.4 y 8.5, con 8.3 por defecto. Fija una en .php-version o en composer.json. Si pides una versión que Nodion ya no ofrece, la build falla con un mensaje claro en lugar de cambiar de versión sin avisar.
No. El buildpack de PHP instala por ti PHP, Composer y el servidor web. Si tu repositorio tiene un Dockerfile, el formulario de creación elige esa estrategia y Nodion hace la build con el Dockerfile.
En la región EU Central, en Fráncfort (Alemania). La build, el registry, la app y sus bases de datos, volúmenes, buckets, logs y métricas permanecen en esa región. La API y el plano de control de Nodion están alojados en Alemania. Nodion GmbH tiene su sede en Stuttgart.
Nodion te ofrece las bases para ello: Nodion GmbH tiene su sede en Stuttgart (Alemania); en la región de Fráncfort, la app, sus bases de datos y sus volúmenes se ejecutan en Alemania. Puedes formalizar electrónicamente el DPA (contrato de encargo del tratamiento, art. 28 del RGPD) en el dashboard. Que tu uso cumpla el RGPD también depende de cómo configures y uses la app.
Una instancia de app cuesta desde 1 EUR al mes. La configuración del recuadro de costes cuesta 2 EUR al mes: App 2 EUR. Los precios no incluyen IVA y la facturación es por segundo. Puedes elegir tamaños mayores o más instancias cuando lo necesites.
Sí. Cada app recibe un nombre de host predeterminado con HTTPS. Añade tu propio dominio en la pestaña Domains de la app; el certificado TLS se emite y se renueva automáticamente.
Hasta 15 € de crédito al registrarte.
o con tu email
Novedades del producto, sin spam. Puedes darte de baja cuando quieras.
Suscripción completada.