> For the complete documentation index, see [llms.txt](https://docs.hostinger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hostinger.com/node.js/overview-1/nitro.md).

# Nitro

Universal server toolkit (the engine behind Nuxt). Hostinger runs Nitro apps in server mode using the Node.js server preset.

**`app_type`:** `nitro`

## Server mode

### `package.json`

```json
{
  "scripts": {
    "dev": "nitro dev",
    "build": "nitro build"
  },
  "dependencies": {
    "nitropack": "^2.10.0"
  }
}
```

Build with the default `node-server` preset (or set it explicitly):

```ts
// nitro.config.ts
export default defineNitroConfig({
  preset: 'node-server',
});
```

### hPanel settings

| Field            | Value              |
| ---------------- | ------------------ |
| Application type | `nitro`            |
| Build script     | `build`            |
| Output directory | `.output`          |
| Entry file       | `server/index.mjs` |

The entry file path is relative to the output directory contents — Nitro's Node build always produces `.output/server/index.mjs`.

## Static mode

Pre-render your routes (`nitro build --preset static` or `prerender` config) and deploy the generated `public` output as a static site — no entry file needed.

## Notes

* Nuxt projects should use the [Nuxt](/node.js/overview-1/nuxt.md) application type instead; `nitro` is for standalone Nitro apps.
* Apps exported from AI site builders that produce a Vite + Nitro setup are configured to the Node server preset automatically during the build.
* Listen port is provided via `process.env.PORT` — Nitro's Node preset respects it automatically.

***

*Last updated: July 22, 2026*
