> 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/file-structure.md).

# File Structure

Node.js app file structure on Hostinger — the hbuilds directory, build versions, the current symlink, and file timestamps.

## Directory layout

```
/home/{username}/domains/{domain}/
├── hbuilds/                            ← Managed by deployments — do not edit
│   ├── source/                         ← Uploaded / cloned project source
│   ├── config/                         ← Environment variables, build settings
│   ├── logs/                           ← Build logs, one folder per deployment
│   ├── versions/
│   │   └── {build-id}/                 ← One folder per build
│   │       ├── nodejs/                 ← Server app files
│   │       └── public_html/            ← Static output of this build
│   └── current → versions/{build-id}   ← Symlink to the live build
└── public_html/                        ← Public docroot, synced from the live build
```

## Live files

| App type                                  | Live location                               |
| ----------------------------------------- | ------------------------------------------- |
| Server apps (Express, NestJS, Next.js, …) | `~/domains/{domain}/hbuilds/current/nodejs` |
| Static output (frontend builds)           | `~/domains/{domain}/public_html`            |

`current` is a symlink. Each successful deployment creates a new `versions/{build-id}` folder and re-points `current` to it. Failed builds don't change it.

The live build is labeled **Current** on the [Deployments](/node.js/deployments.md) page.

## File timestamps

Archive extraction keeps the modification time stored inside the archive — **"Last modified" in File Manager shows when you edited the file, not when it was deployed.** Verify deployments on the [Deployments](/node.js/deployments.md) page, not by timestamps.

## Manual edits

> **Warning:** Files in `hbuilds/` and `public_html` are overwritten on every deployment. Direct edits via File Manager, FTP, or SSH are not supported — change your source and redeploy. Use [environment variables](/node.js/environment-variables.md) for configuration.

## Version retention

Only the live build and one previous build are kept in `versions/`. To roll back, push the older code or upload the older archive.

***

*Last updated: September 9, 2026*
