Langage Francfort, Allemagne
Nodion reconnaît une app PHP à son composer.json. Le buildpack PHP installe vos dépendances avec Composer et sert l'app avec FrankenPHP depuis public/ ; si vous préférez, php-fpm tourne à la place derrière nginx ou Apache. L'app tourne à Francfort, à côté d'une base de données MySQL ou PostgreSQL managée si vous en avez besoin.
composer.json dans le répertoire indiqué dans le champ Base directorycomposer.json. Un dépôt qui ne contient qu'un index.php n'est pas détecté ; si vous n'avez pas encore de composer.json, un petit fichier comme celui-ci suffit. Le build exécute composer install --no-dev --optimize-autoloader : tout ce dont l'app a besoin à l'exécution va donc dans require, pas dans require-dev. Commitez composer.lock pour que le build installe les versions que vous avez testées. composer.json {
"require": {
"php": "8.4.*"
}
} public/ comme racine du site. S'il n'existe pas, Nodion prend web/, et sans aucun des deux, la racine du dépôt. Placez index.php et vos assets dans public/ et gardez vendor/, la configuration et le code source à côté : seuls les fichiers destinés au web sont alors servis. composer.json
composer.lock
src/
public/
index.php BP_PHP_SERVER avec la valeur nginx ou apache dans l'onglet Environment et cochez Build. Apache lit aussi vos fichiers .htaccess. Toute autre valeur fait échouer le build. DATABASE_URL au déploiement suivant, uniquement à l'exécution. Marquez les mots de passe et les clés d'API comme secrets. release: dans un Procfile s'exécute une fois par build, après le build et avant le démarrage de la nouvelle version. Si elle échoue, le déploiement s'arrête et la version en cours reste en ligne. Gardez l'outil de migration, par exemple Doctrine Migrations ou Phinx, dans require. Procfile release: vendor/bin/doctrine-migrations migrate --no-interaction .php-version, puis require.php dans composer.json ; sans l'un ni l'autre, vous obtenez PHP 8.3. Une plage prend la version compatible la plus récente : "^8.2" donne donc PHP 8.5. Pour rester sur une seule version mineure, écrivez 8.3 dans .php-version ou exigez "8.3.*".bin/console associé à symfony.lock, exécute bin/console cache:warmup --env=prod pendant le build et définit APP_ENV=prod et APP_DEBUG=0 à l'exécution. Ajoutez aussi APP_ENV=prod avec l'option Build, pour que les scripts Composer lancés pendant l'installation n'utilisent pas dev depuis votre .env. Nodion n'exécute pas asset-map:compile ; avec AssetMapper, ajoutez-le aux auto-scripts de composer.json. Pour des builds avec Encore ou Vite, utilisez un Dockerfile.worker: php bin/worker.php ainsi qu'une ligne web: explicite : sans elle, la première entrée du Procfile autre que release: devient la commande par défaut. Le log de build affiche la commande de démarrage par défaut ; pour FrankenPHP, web: frankenphp php-server --listen :$PORT --root public/ fonctionne. Ajoutez ensuite dans l'onglet Processes un processus nommé worker sans port./ renvoie un code 2xx ou 3xx. Si / répond 401 ou 404, définissez dans les paramètres de l'app un chemin de health check qui renvoie 200.DATABASE_URL, REDIS_URL ou CLICKHOUSE_URL. release: du Procfile s'exécute à chaque nouveau build. Les apps Dockerfile, ainsi que les redéploiements ou les rollbacks vers une image antérieure, utilisent une commande de release définie sur l'app elle-même, qui prime aussi sur la ligne du Procfile. Sur les sites statiques, l'étape de release s'exécute dans une image qui ne contient que les fichiers générés par le build. Oui. Nodion détecte PHP uniquement grâce au composer.json ; un fichier qui n'exige rien d'autre que PHP suffit. Placez dans public/ les fichiers PHP à servir.
Oui. Définissez BP_PHP_SERVER=nginx ou BP_PHP_SERVER=apache comme variable de build, et Nodion exécute php-fpm derrière nginx ou Apache httpd. Sans cette variable, c'est FrankenPHP qui sert l'app.
PHP 8.2, 8.3, 8.4 et 8.5, avec 8.3 par défaut. Fixez-en une dans .php-version ou dans composer.json. Si vous demandez une version que Nodion ne propose plus, le build échoue avec un message clair au lieu de changer de version en silence.
Non. Le buildpack PHP installe pour vous PHP, Composer et le serveur web. Si votre dépôt contient un Dockerfile, le formulaire de création choisit cette stratégie et Nodion construit alors l'image à partir du Dockerfile.
Dans la région EU Central, à Francfort (Allemagne). Le build, le registry, l'app et ses bases de données, volumes, buckets, logs et métriques restent dans cette région. L'API et le plan de contrôle de Nodion sont hébergés en Allemagne. Nodion GmbH a son siège à Stuttgart.
Nodion en pose les bases : Nodion GmbH a son siège à Stuttgart (Allemagne). Dans la région de Francfort, l'app, ses bases de données et ses volumes fonctionnent en Allemagne. Vous concluez le DPA (accord de traitement des données, art. 28 RGPD) par voie électronique dans le dashboard. La conformité de votre déploiement dépend aussi de la façon dont vous configurez et utilisez l'app.
Une instance d'app coûte à partir de 1 EUR par mois. La configuration présentée dans l'encadré des coûts revient à 2 EUR par mois : App 2 EUR. Les prix sont HT, avec une facturation à la seconde. Vous pouvez choisir des tailles plus grandes ou davantage d'instances dès que vous en avez besoin.
Oui. Chaque app reçoit un nom d'hôte par défaut avec HTTPS. Ajoutez votre propre domaine dans l'onglet Domains de l'app. Le certificat TLS est émis et renouvelé automatiquement.
Jusqu'à 15 € de crédit de bienvenue à l'inscription.
ou par e-mail
Les nouveautés du produit, sans spam. Désabonnez-vous à tout moment.
Inscription confirmée.