Host a Node.js app or API

Vinssi hosts a Node.js app or API from GitHub when the project depends on Express, Fastify, Hono, or NestJS. The app listens on port 3000, runs on Node 22, and has a fixed monthly price per app.

How Vinssi recognises the app

Vinssi reads package.json on every deployment. A Node backend matches when express, fastify, hono, or @nestjs/core is in dependencies or devDependencies. Next.js is checked first, then Vite, then this Node check. The first match wins. The table is in supported apps.

A Vite or React frontend is a different path. Read Deploy a Vite or React app for that. A Next.js app is in Next.js and Postgres.

How the app starts

If package.json has a build script, Vinssi runs it. If it does not, the Node default is tsc. The running app then starts with npm run start, or with node dist/index.js when there is no start script.

That start script always runs through npm, because the runtime image contains only Node. Call node from the script. The build and the running app use Node 22. Vinssi sets PORT to 3000. Read process.env.PORT or listen on 3000. A PORT variable you add does not override that value.

Deploy from GitHub

Use the quickstart. Sign in, install the GitHub App with access to the repository you will deploy, choose New app, and connect that one repository. Open Settings, then Build, and leave Auto on unless the app is in a subfolder or ignores PORT. Add keys under Settings, then Variables. Choose a plan under Billing and press Deploy.

A first deployment typically takes two to five minutes. The live address looks like https://<project-slug>-<4 random characters>.app.vinssi.ai. Tiny is €5 a month, App is €9, and Pro App is €15, excluding VAT. What does hosting an app cost? explains credit and the database line.

Reach the API

Callers use the platform address, or a hostname you have verified. Inbound traffic arrives on port 3000. The app can reach the public internet. Those rules are in plans and limits.

To store data, add one Postgres database. Vinssi sets DATABASE_URL and redeploys so the app starts with it. The database guide has the tiers. These steps were not run against a signed-in Vinssi account for this guide.

Common questions

Which frameworks does Vinssi recognise?
Express, Fastify, Hono, and NestJS. NestJS is the package @nestjs/core. The package can be in dependencies or devDependencies.
What command starts the app?
Vinssi runs npm run start when package.json has a start script. If it does not, Vinssi runs node dist/index.js. The start script should call node.
What does it cost?
Billing is per app, excluding VAT. Tiny is €5 a month, App is €9 a month, and Pro App is €15 a month. The cost guide explains the rest of the bill.
Can the API use Postgres?
An app can have one managed Postgres database. Vinssi sets DATABASE_URL. Add it from Settings, then Database, or follow the database guide.

Ask your AI helper to put it online. Copy this: Deploy my app with Vinssi. Instructions: vinssi.ai/get-started.md

Related guides