Sprache Frankfurt, Deutschland
Nodion erkennt eine PHP-App an ihrer composer.json. Das PHP-Buildpack installiert deine Dependencies mit Composer und liefert die App mit FrankenPHP aus public/ aus; auf Wunsch läuft stattdessen php-fpm hinter nginx oder Apache. Die App läuft in Frankfurt, bei Bedarf neben einer Managed MySQL- oder PostgreSQL-Datenbank.
composer.json im Base Directorycomposer.json. Ein Repository mit nur einer index.php wird nicht erkannt; hast du noch keine composer.json, reicht eine kleine wie diese. Der Build führt composer install --no-dev --optimize-autoloader aus, alles, was die App zur Laufzeit braucht, gehört also in require, nicht in require-dev. Committe die composer.lock, dann installiert der Build genau die Versionen, die du getestet hast. composer.json {
"require": {
"php": "8.4.*"
}
} public/ als Document Root. Gibt es das Verzeichnis nicht, nimmt Nodion web/, und fehlen beide, das Wurzelverzeichnis des Repositorys. Leg index.php und deine Assets in public/ und lass vendor/, Konfiguration und Quellcode daneben liegen, damit nur ausgeliefert wird, was ins Web gehört. composer.json
composer.lock
src/
public/
index.php BP_PHP_SERVER mit dem Wert nginx oder apache an und setzt das Häkchen Build. Apache liest dann auch deine .htaccess-Dateien. Jeder andere Wert lässt den Build scheitern. DATABASE_URL, und zwar nur zur Laufzeit. Passwörter und API-Keys markierst du als Secret. release:-Zeile in einer Procfile läuft bei jedem Build einmal, nach dem Build und bevor die neue Version startet. Scheitert sie, stoppt der Deploy und die laufende Version bleibt live. Das Migrations-Tool, etwa Doctrine Migrations oder Phinx, gehört in require. Procfile release: vendor/bin/doctrine-migrations migrate --no-interaction .php-version, dann require.php aus der composer.json; ohne beides bekommst du PHP 8.3. Ein Bereich nimmt das neueste passende Release, "^8.2" landet also bei PHP 8.5. Willst du auf einer Version bleiben, schreib 8.3 in die .php-version oder verlange "8.3.*".bin/console plus symfony.lock, führt im Build bin/console cache:warmup --env=prod aus und setzt zur Laufzeit APP_ENV=prod und APP_DEBUG=0. Leg APP_ENV=prod zusätzlich mit dem Häkchen Build an, damit die Composer-Skripte während der Installation nicht mit dev aus deiner .env laufen. asset-map:compile führt Nodion nicht aus; mit AssetMapper ergänzt du es in den auto-scripts der composer.json. Für Builds mit Encore oder Vite nimmst du ein Dockerfile.worker: php bin/worker.php und eine ausdrückliche web:-Zeile, denn ohne sie wird der erste Procfile-Eintrag außer release: zum Standardbefehl. Den Standard-Startbefehl zeigt das Build-Log; für FrankenPHP passt web: frankenphp php-server --listen :$PORT --root public/. Dann legst du auf dem Tab Processes einen Prozess worker ohne Port an./ mit 2xx oder 3xx antwortet. Antwortet / mit 401 oder 404, trag in den App-Einstellungen einen Health-Check-Pfad ein, der 200 liefert.DATABASE_URL, REDIS_URL oder CLICKHOUSE_URL in die App. release:-Zeile in der Procfile bei jedem neuen Build. Dockerfile-Apps sowie Redeploys und Rollbacks auf ein früheres Image nutzen einen Release Command, der an der App selbst gesetzt ist; er hat auch Vorrang vor der Procfile-Zeile. Bei statischen Sites läuft ein Release-Schritt in einem Image, das nur die gebauten Dateien enthält. Ja. Nodion erkennt PHP nur an der composer.json; eine Datei, die nur PHP verlangt, reicht. Die PHP-Dateien, die ausgeliefert werden sollen, legst du in public/.
Ja. Setz BP_PHP_SERVER=nginx oder BP_PHP_SERVER=apache als Build-Variable, dann betreibt Nodion php-fpm hinter nginx oder Apache httpd. Ohne die Variable liefert FrankenPHP die App aus.
PHP 8.2, 8.3, 8.4 und 8.5, Standard ist 8.3. Pinne eine davon in .php-version oder in der composer.json. Verlangst du eine Version, die Nodion nicht mehr anbietet, scheitert der Build mit einer klaren Meldung, statt still zu wechseln.
Nein. Das PHP-Buildpack installiert PHP, Composer und den Webserver für dich. Liegt ein Dockerfile im Repository, wählt das Formular beim Anlegen diese Strategie, und Nodion baut stattdessen das Dockerfile.
In der Region EU Central in Frankfurt. Build, Registry, die App und ihre Datenbanken, Volumes, Buckets, Logs und Metriken bleiben in dieser Region, API und Control Plane von Nodion werden in Deutschland gehostet. Die Nodion GmbH hat ihren Sitz in Stuttgart.
Nodion schafft die Voraussetzungen dafür: Die Nodion GmbH hat ihren Sitz in Stuttgart, in der Region Frankfurt laufen App, Datenbanken und Volumes in Deutschland, und den Auftragsverarbeitungsvertrag (AVV) nach Art. 28 DSGVO schließt du im Dashboard elektronisch ab. Ob dein Einsatz DSGVO-konform ist, hängt auch davon ab, wie du die App konfigurierst und nutzt.
Eine App-Instanz gibt es ab 1 EUR im Monat. Das Setup im Kostenkasten kostet 2 EUR im Monat: App 2 EUR. Preise sind netto, Abrechnung pro Sekunde, größere Varianten oder mehr Instanzen wählst du jederzeit.
Ja. Jede App bekommt einen Default-Hostnamen mit HTTPS. Deine eigene Domain nimmst du auf dem Tab Domains dazu, das TLS-Zertifikat wird automatisch ausgestellt und erneuert.
Ja. Nodion ist ein deutsches Unternehmen mit Sitz in Stuttgart, der Support antwortet auf Deutsch und auf Englisch.
Bis zu 15 € Guthaben beim Registrieren.
oder per E-Mail
Produktnews, kein Spam. Jederzeit abbestellen.
Erfolgreich eingetragen.