Sprache Frankfurt, Deutschland
Verbinde ein Repository mit package.json, und Nodion baut es mit dem Node.js-Buildpack: Dependencies aus dem Lockfile installieren, dein build-Skript ausführen, den Server mit deinem start-Skript starten. So laufen Express, Fastify, Hono und andere Node.js-Server, auch Bun-Projekte. Die App läuft in Frankfurt, auf Wunsch neben einer Managed PostgreSQL-Datenbank.
package.json ohne statisches Frontend-Frameworkstart-Skript, sonst node server.js, index.js oder app.jsPORT für den Web-Prozess und schickt den Traffic dorthin. Lies die Variable aus und binde an 0.0.0.0. Fastify lauscht standardmäßig nur auf localhost, gib listen also host: '0.0.0.0' mit. server.js const express = require("express");
const app = express();
app.get("/", (req, res) => res.send("ok"));
const port = process.env.PORT || 3000;
app.listen(port, "0.0.0.0"); package-lock.json, yarn.lock, pnpm-lock.yaml oder bun.lock; ohne Lockfile scheitert der Build. Nodion führt das start-Skript direkt aus, npm-Hooks wie prestart laufen also nicht. Ohne start-Skript bekommen bekannte Frameworks wie Nuxt ihren eigenen Standard, alles andere startet mit node server.js, index.js oder app.js, zuletzt mit node .. Dev-Dependencies werden nach dem Build entfernt; Tools, die du zur Laufzeit brauchst, etwa tsx oder ein Migrations-CLI, gehören in dependencies. package.json "scripts": {
"start": "node server.js"
} build-Skript und gibt es keine der Dateien server.js, app.js, index.js, src/server.js, src/index.js oder src/app.js, behandelt Nodion das Repository als statische Site und startet deinen Server nicht. Genau so sieht ein TypeScript-Server aus, den tsc nach dist/ kompiliert. Leg neben die package.json eine index.js, die den kompilierten Server lädt (das Beispiel braucht "type": "module"; in CommonJS schreibst du require("./dist/server.js")), und lass das start-Skript auf die kompilierte Datei zeigen, etwa node dist/server.js, nicht auf ein Dev-Tool. index.js import "./dist/server.js"; DATABASE_URL. Eine release:-Zeile in einer Procfile läuft bei jedem Build einmal, nach dem Build und bevor die neue Version startet; scheitert sie, bleibt die laufende Version live. Procfile release: npm run migrate / mit 2xx oder 3xx antwortet. Antwortet deine API auf / mit 404, leg eine Route wie /health an und trag sie in den App-Einstellungen als Health-Check-Pfad ein. vite in dependencies oder devDependencies, baut Nodion das Repository als statische Site und liefert nur den Build-Output aus, auch wenn es eine server.js gibt. Dasselbe gilt für Angular, Gatsby, Create React App und Eleventy. Für einen Node.js-Server, der zusätzlich ein Vite-Frontend baut, nimm ein Dockerfile.bun.lock installiert Nodion deine Dependencies und baut mit Bun. Gestartet wird die App trotzdem über das start-Skript, es muss Bun also selbst aufrufen, etwa "start": "bun run index.ts"; ohne start-Skript startet Nodion die App mit node. Die Regel zur Einstiegsdatei oben gilt auch für Bun-Projekte.web: node server.js und worker: node worker.js in eine Procfile; ohne web:-Zeile wird der erste Procfile-Eintrag außer release: zum Standardbefehl. Dann legst du auf dem Tab Processes einen Prozess worker ohne Port an. Valkey in derselben Region liefert deiner Queue eine REDIS_URL.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. Nodion hat ein build-Skript gefunden, aber keine der Einstiegsdateien server.js, app.js oder index.js (auch unter src/ geprüft), oder ein statisches Frontend-Framework wie Vite in der package.json. Leg neben die package.json eine index.js, die deinen kompilierten Server lädt; steht Vite in derselben package.json, nimm ein Dockerfile.
Node.js 24, solange du nichts anderes festlegst. Nodion liest .node-version, .nvmrc und engines.node, in dieser Reihenfolge. Ein Bereich wird zum neuesten passenden Release aufgelöst, "node": ">=20" bekommt also Node.js 26; schreib 24 in die .nvmrc, um bei 24 zu bleiben.
Ja. Nodion wählt den Paketmanager anhand des Lockfiles (pnpm-lock.yaml, yarn.lock, bun.lock oder package-lock.json) und installiert genau die Versionen, die darin stehen. Bun-Projekte brauchen zusätzlich ein start-Skript, das bun aufruft.
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 3.50 EUR im Monat: App 2 EUR, PostgreSQL 1.50 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.