Taal Frankfurt, Duitsland
Koppel een repository met een package.json en Nodion bouwt die met het Node.js-buildpack: je dependencies worden uit de lockfile geïnstalleerd, je build-script draait en de server start met je start-script. Zo werken Express, Fastify, Hono en andere Node.js-servers, en ook Bun-projecten. De app draait in Frankfurt, naast een managed PostgreSQL-database als je die nodig hebt.
package.json zonder statisch frontendframeworkstart-script, anders node server.js, index.js of app.jsPORT in voor het webproces en stuurt het verkeer daarheen. Lees de variabele uit en bind aan 0.0.0.0. Fastify luistert standaard op localhost, dus geef host: '0.0.0.0' mee aan listen. 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 of bun.lock; zonder lockfile mislukt de build. Nodion voert het start-script direct uit, dus npm-hooks zoals prestart draaien niet. Zonder startscript krijgen bekende frameworks zoals Nuxt hun eigen standaardcommando; al het andere start met node server.js, index.js of app.js, en als laatste met node .. Dev-dependencies worden na de build verwijderd, dus tools die je tijdens runtime nodig hebt, zoals tsx of een migratie-CLI, horen in dependencies. package.json "scripts": {
"start": "node server.js"
} build-script en bestaat geen van server.js, app.js, index.js, src/server.js, src/index.js of src/app.js, dan behandelt Nodion de repository als statische site en start je server niet. Een TypeScript-server die tsc naar dist/ compileert, ziet er precies zo uit. Zet naast package.json een index.js die de gecompileerde server laadt (het voorbeeld heeft "type": "module" nodig; schrijf in CommonJS require("./dist/server.js")), en laat het startscript naar het gecompileerde bestand wijzen, bijvoorbeeld node dist/server.js, niet naar een devtool. index.js import "./dist/server.js"; DATABASE_URL. Een release:-regel in een Procfile draait één keer per build, na de build en voordat de nieuwe versie start; mislukt die, dan blijft de draaiende versie live. Procfile release: npm run migrate / antwoordt met een 2xx- of 3xx-status. Antwoordt je API met 404 op /, voeg dan een route zoals /health toe en stel die in de app-instellingen in als pad voor de health check. vite in dependencies of devDependencies, dan bouwt Nodion de repository als statische site en levert alleen de build-output uit, ook als er een server.js bestaat. Hetzelfde geldt voor Angular, Gatsby, Create React App en Eleventy. Gebruik voor een Node.js-server die ook een Vite-frontend bouwt een Dockerfile.bun.lock installeert Nodion je dependencies en draait de build met Bun. De app start nog steeds via het startscript, dus dat script moet Bun aanroepen, bijvoorbeeld "start": "bun run index.ts"; zonder startscript start Nodion de app met node. De regel voor het entrybestand hierboven geldt ook voor Bun-projecten.web: node server.js en worker: node worker.js in een Procfile; zonder web:-regel wordt de eerste Procfile-regel anders dan release: het standaardcommando. Voeg daarna op het tabblad Processes een proces met de naam worker zonder poort toe. Valkey in dezelfde regio geeft je queue een REDIS_URL.DATABASE_URL, REDIS_URL of CLICKHOUSE_URL. release:-regel in het Procfile bij elke nieuwe build. Dockerfile-apps, en redeploys of rollbacks naar een eerdere image, gebruiken een releasecommando dat op de app zelf is ingesteld en dat ook voorrang heeft op de Procfile-regel. Bij statische sites draait een releasestap in een image die alleen de gebouwde bestanden bevat. Nodion heeft een build-script gevonden maar geen van de entrybestanden server.js, app.js of index.js (ook gezocht in src/), of een statisch frontendframework zoals Vite in package.json. Zet naast package.json een index.js die je gecompileerde server laadt; staat Vite in dezelfde package.json, gebruik dan een Dockerfile.
Node.js 24, tenzij je zelf een versie kiest. Nodion leest .node-version, .nvmrc en engines.node, in die volgorde. Een bereik wordt omgezet naar de nieuwste passende release, dus "node": ">=20" krijgt Node.js 26; zet 24 in .nvmrc om op 24 te blijven.
Ja. Nodion kiest de package manager op basis van de lockfile (pnpm-lock.yaml, yarn.lock, bun.lock of package-lock.json) en installeert precies de versies die daarin staan. Bun-projecten hebben daarnaast een startscript nodig dat bun aanroept.
In de regio EU Central in Frankfurt, Duitsland. Build, registry, de app en de bijbehorende databases, volumes, buckets, logs en metrics blijven in die regio, en de API en het control plane van Nodion worden in Duitsland gehost. Nodion GmbH is gevestigd in Stuttgart.
Nodion biedt hiervoor de basis: Nodion GmbH is gevestigd in Stuttgart (Duitsland). Kies je de regio Frankfurt, dan draaien de app, de databases en de volumes in Duitsland. De verwerkersovereenkomst (DPA, art. 28 AVG) sluit je elektronisch af in het dashboard. Of je configuratie aan de AVG voldoet, hangt ook af van hoe je de app instelt en gebruikt.
Een appinstantie kost vanaf 1 EUR per maand. De configuratie in het kostenoverzicht kost 3.50 EUR per maand: App 2 EUR, PostgreSQL 1.50 EUR. Prijzen zijn excl. btw en worden per seconde gefactureerd, en je kiest grotere formaten of meer instanties wanneer je ze nodig hebt.
Ja. Elke app krijgt een standaardhostnaam met HTTPS. Voeg je eigen domein toe op het tabblad Domains van de app; het TLS-certificaat wordt automatisch uitgegeven en vernieuwd.
Ontvang tot € 15 welkomsttegoed bij je registratie.
of met e-mail
Productnieuws, geen spam. Je kunt je altijd weer afmelden.
Je bent aangemeld.