{"id":6553,"date":"2025-11-07T08:46:19","date_gmt":"2025-11-07T08:46:19","guid":{"rendered":"https:\/\/www.hostinger.com\/support\/?p=6553"},"modified":"2026-04-13T11:34:10","modified_gmt":"2026-04-13T11:34:10","slug":"how-to-deploy-a-nodejs-website-in-hostinger","status":"publish","type":"post","link":"https:\/\/www.hostinger.com\/support\/how-to-deploy-a-nodejs-website-in-hostinger\/","title":{"rendered":"How to add a Node.js Web App in Hostinger"},"content":{"rendered":"<p>Node.js Web Apps Hosting allows you to deploy modern web applications built with popular JavaScript frameworks like React, Vue.js, and Angular directly to Hostinger with automatic builds and deployments. Yes, Hostinger supports Node.js applications on Business and Cloud hosting plans. This guide will show you how to deploy your Node.js application step-by-step.<\/p><h2 id=\"What-You-Will-Need\" class=\"text-xl font-bold text-text-100 mt-1 -mb-0.5\">Which Hosting Plans Support Node.js Web Applications?<\/h2><p>Node.js web applications are available on the following Hostinger hosting plans:<\/p><ul>\n<li>Business Web Hosting<\/li>\n<li>Cloud Startup<\/li>\n<li>Cloud Professional<\/li>\n<li>Cloud Enterprise<\/li>\n<li>Cloud Enterprise Plus<\/li>\n<\/ul><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">If you&rsquo;re currently on a different plan, you can <a href=\"https:\/\/www.hostinger.com\/support\/1583459-how-to-upgrade-a-hosting-plan-at-hostinger\/\">upgrade<\/a> your hosting plan through hPanel to access Node.js support.<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #feedaf80;border-color: #fbc91633\"><strong>NOTE:<\/strong> VPS and dedicated server plans also support Node.js applications but require manual configuration through the command line interface.<\/div><h2 id=\"h-what-youll-need\" class=\"text-xl font-bold text-text-100 mt-1 -mb-0.5\">What You&rsquo;ll Need<\/h2><ul class=\"[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-2.5 pl-7\">\n<li class=\"whitespace-normal break-words\">A Business hosting plan or Cloud hosting plan (Cloud Startup, Cloud Professional, Cloud Enterprise, or Cloud Enterprise Plus)<\/li>\n<li class=\"whitespace-normal break-words\">A Node.js app built with a supported framework<\/li>\n<li class=\"whitespace-normal break-words\">Either a GitHub repository or compressed project files<\/li>\n<\/ul><h2 id=\"Supported-Frameworks-and-Technologies\" class=\"text-xl font-bold text-text-100 mt-1 -mb-0.5\">Supported Frameworks and Technologies<\/h2><p class=\"whitespace-normal break-words\">Your Node.js app must be built with one of these frameworks:<\/p><ul>\n<li class=\"whitespace-normal break-words\">Frontend-supported Applications\n<ul>\n<li class=\"whitespace-normal break-words\">React<\/li>\n<li class=\"whitespace-normal break-words\">Vue.js<\/li>\n<li class=\"whitespace-normal break-words\">Angular<\/li>\n<li class=\"whitespace-normal break-words\">Vite<\/li>\n<li class=\"whitespace-normal break-words\">Parcel<\/li>\n<li class=\"whitespace-normal break-words\">Preact<\/li>\n<li class=\"whitespace-normal break-words\">Next.js<\/li>\n<li>Nuxt.js<\/li>\n<li>Astro<\/li>\n<li>Svelte<\/li>\n<li>SvelteKit<\/li>\n<\/ul>\n<\/li>\n<\/ul><ul>\n<li class=\"p-rich_text_section\">Backend-supported Applications\n<ul>\n<li class=\"p-rich_text_section\">Next.js<\/li>\n<li class=\"p-rich_text_section\">Express.js<\/li>\n<li>NestJS<\/li>\n<li>Nuxt.js<\/li>\n<li>Fastify<\/li>\n<li>Astro<\/li>\n<li>SvelteKit<\/li>\n<\/ul>\n<\/li>\n<\/ul><p class=\"whitespace-normal break-words\"><strong>Supported Node.js versions:<\/strong> 18.x, 20.x, 22.x, 24.x<\/p><p>In addition to the listed frameworks, Hostinger also supports an <b>&ldquo;Other&rdquo;<\/b> type for Node.js applications that don&rsquo;t use a specific detectable framework.<\/p><ul>\n<li><b>Auto-assigned:<\/b> If Hostinger cannot detect your framework automatically, your app will be assigned the <b>&ldquo;Other&rdquo;<\/b> type.<\/li>\n<li><b>Manual selection:<\/b> You can also select <b>&ldquo;Other&rdquo;<\/b> manually from the framework dropdown during setup.<\/li>\n<\/ul><h2 id=\"Deploying-from-Github-Repository\" class=\"text-xl font-bold text-text-100 mt-1 -mb-0.5\">Deploying from a GitHub Repository<\/h2><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 1 &ndash; Access the Node.js Web App section<\/h3><p class=\"whitespace-normal break-words\">Log in to your <strong>Hostinger hPanel<\/strong>, navigate to <strong>Websites<\/strong> on the sidebar, and click <strong>Add Website<\/strong>:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7603\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-30_10-24_3.png\" alt=\"\" width=\"1118\" height=\"403\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-30_10-24_3.png 1118w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-30_10-24_3-300x108.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-30_10-24_3-1024x369.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-30_10-24_3-768x277.png 768w\" sizes=\"auto, (max-width: 1118px) 100vw, 1118px\" \/><\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 2 &ndash; Select Node.js Web App<\/h3><p class=\"whitespace-normal break-words\">Choose &nbsp;<strong data-start=\"1183\" data-end=\"1203\">Node.js Apps <\/strong>from the available options.<\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 3 &ndash; Choose GitHub Integration<\/h3><p class=\"whitespace-normal break-words\">Select <strong>Import Git Repository<\/strong>:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6561\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28.png\" alt=\"\" width=\"1509\" height=\"760\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28.png 1509w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28-300x151.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28-1024x516.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28-768x387.png 768w\" sizes=\"auto, (max-width: 1509px) 100vw, 1509px\" \/><\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 4 &ndash; Authorize GitHub Access<\/h3><p class=\"whitespace-normal break-words\">You&rsquo;ll be redirected to GitHub. Click <strong>Authorize<\/strong> to allow Hostinger to access your repositories:<\/p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6575\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/c74d3095-697c-4f8f-9d5e-91973cbc76bf.png\" alt=\"\" width=\"1024\" height=\"519\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/c74d3095-697c-4f8f-9d5e-91973cbc76bf.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/c74d3095-697c-4f8f-9d5e-91973cbc76bf-300x152.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/c74d3095-697c-4f8f-9d5e-91973cbc76bf-768x389.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 5 &ndash; Select Your Repository<\/h3><p class=\"whitespace-normal break-words\">Choose the repository containing your Node.js app:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6574\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/f7e9bb52-0ab3-4547-9d68-267e8dbdded4.png\" alt=\"\" width=\"1024\" height=\"519\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/f7e9bb52-0ab3-4547-9d68-267e8dbdded4.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/f7e9bb52-0ab3-4547-9d68-267e8dbdded4-300x152.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/f7e9bb52-0ab3-4547-9d68-267e8dbdded4-768x389.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 6 &ndash; Configure Build Settings<\/h3><p class=\"whitespace-normal break-words\">The system will automatically detect your framework and suggest build settings where you can modify them.<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7782\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-08.png\" alt=\"\" width=\"1141\" height=\"836\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-08.png 1141w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-08-300x220.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-08-1024x750.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-08-768x563.png 768w\" sizes=\"auto, (max-width: 1141px) 100vw, 1141px\" \/><\/p><p><b>If your framework type is &ldquo;Other&rdquo;:<\/b><\/p><p>When <b>&ldquo;Other&rdquo;<\/b> is selected, Hostinger&rsquo;s detection script will try to gather as much configuration information as possible. However, some settings may need to be filled in manually:<\/p><ul>\n<li><b>Output directory<\/b> &mdash; Enter the folder where your app&rsquo;s build files are generated. Common values: <code>dist<\/code>, <code>build<\/code>, <code>out<\/code>, or <code>.next<\/code>.<\/li>\n<li><b>Entry file<\/b> &mdash; Enter the main file that starts your application (e.g., <code>index.js<\/code>, <code>server.js<\/code>). This is only required if your application needs it.<\/li>\n<\/ul><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9290\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16.png\" alt=\"\" width=\"827\" height=\"831\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16.png 827w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16-300x300.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16-150x150.png 150w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16-768x772.png 768w\" sizes=\"auto, (max-width: 827px) 100vw, 827px\" \/><\/p><p>If you&rsquo;re unsure of these values, check your project&rsquo;s <code>package.json<\/code> or build configuration file.<\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 7 &ndash; Deploy Your Website<\/h3><p class=\"whitespace-normal break-words\">Click <strong>Deploy<\/strong> to start building your application.<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6572\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/38a2eb0d-a1ef-419e-a908-3e873ed6e031.png\" alt=\"\" width=\"1024\" height=\"519\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/38a2eb0d-a1ef-419e-a908-3e873ed6e031.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/38a2eb0d-a1ef-419e-a908-3e873ed6e031-300x152.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/38a2eb0d-a1ef-419e-a908-3e873ed6e031-768x389.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p><p class=\"whitespace-normal break-words\">Your Node.js app is now live! &#128640;<\/p><p>Once the deployment is complete, you will see a preview screenshot of your built website. This gives you a quick visual confirmation that the deployment was successful before navigating to your site.<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9586\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-13_18-32.png\" alt=\"\" width=\"1351\" height=\"647\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-13_18-32.png 1351w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-13_18-32-300x144.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-13_18-32-1024x490.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-13_18-32-768x368.png 768w\" sizes=\"auto, (max-width: 1351px) 100vw, 1351px\" \/><\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\"><strong>NOTE<\/strong>: One hosting plan can only be connected to one GitHub account at a time. All Node.js websites within that hosting plan will use the same GitHub account.<\/div><hr class=\"border-border-300 my-2\"><h2 id=\"Deploying-by-Uploading-Files\" class=\"text-xl font-bold text-text-100 mt-1 -mb-0.5\">Deploying by Uploading Files<\/h2><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 1 &ndash; Access the Node.js Apps Section<\/h3><p class=\"whitespace-normal break-words\">Log in to <strong>hPanel<\/strong>, go to <strong>Websites<\/strong>, and click <strong>Add Website<\/strong>:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7172\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/12\/2025-12-23_13-28.png\" alt=\"\" width=\"1507\" height=\"551\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/12\/2025-12-23_13-28.png 1507w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/12\/2025-12-23_13-28-300x110.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/12\/2025-12-23_13-28-1024x374.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/12\/2025-12-23_13-28-768x281.png 768w\" sizes=\"auto, (max-width: 1507px) 100vw, 1507px\" \/><\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 2 &ndash; Select Front-End Application<\/h3><p class=\"whitespace-normal break-words\">Choose Node.js Apps&nbsp;from the options.<\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 3 &ndash; Choose File Upload<\/h3><p class=\"whitespace-normal break-words\">Select <strong>Upload your website files<\/strong>:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6562\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28_1.png\" alt=\"\" width=\"1533\" height=\"766\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28_1.png 1533w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28_1-300x150.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28_1-1024x512.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28_1-768x384.png 768w\" sizes=\"auto, (max-width: 1533px) 100vw, 1533px\" \/><\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 4 &ndash; Upload Your Project<\/h3><p class=\"whitespace-normal break-words\">Upload a compressed file (<code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">.zip<\/code>) containing your Node.js app.<\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 5 &ndash; Configure Build Settings<\/h3><p class=\"whitespace-normal break-words\">Confirm or edit the auto-detected build settings:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7783\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-13.png\" alt=\"\" width=\"1131\" height=\"840\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-13.png 1131w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-13-300x223.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-13-1024x761.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-13-768x570.png 768w\" sizes=\"auto, (max-width: 1131px) 100vw, 1131px\" \/><\/p><p><b>If your framework type is &ldquo;Other&rdquo;:<\/b><\/p><p>When <b>&ldquo;Other&rdquo;<\/b> is selected, Hostinger&rsquo;s detection script will try to gather as much configuration information as possible. However, some settings may need to be filled in manually:<\/p><ul>\n<li><b>Output directory<\/b> &mdash; Enter the folder where your app&rsquo;s build files are generated. Common values: <code>dist<\/code>, <code>build<\/code>, <code>out<\/code>, or <code>.next<\/code>.<\/li>\n<li><b>Entry file<\/b> &mdash; Enter the main file that starts your application (e.g., <code>index.js<\/code>, <code>server.js<\/code>). This is only required if your application needs it.<\/li>\n<\/ul><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9290\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16.png\" alt=\"\" width=\"827\" height=\"831\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16.png 827w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16-300x300.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16-150x150.png 150w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16-768x772.png 768w\" sizes=\"auto, (max-width: 827px) 100vw, 827px\" \/><\/p><p>If you&rsquo;re unsure of these values, check your project&rsquo;s <code>package.json<\/code> or build configuration file.<\/p><h3 class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">Step 6 &ndash; Deploy Your Website<\/h3><p class=\"whitespace-normal break-words\">Click <strong>Deploy<\/strong> to build and launch your application:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6570\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/39d8457e-b666-4c8b-9761-f5d95b259cad.png\" alt=\"\" width=\"1024\" height=\"525\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/39d8457e-b666-4c8b-9761-f5d95b259cad.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/39d8457e-b666-4c8b-9761-f5d95b259cad-300x154.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/39d8457e-b666-4c8b-9761-f5d95b259cad-768x394.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p><p class=\"whitespace-normal break-words\">Your website is now ready to use!<\/p><p class=\"whitespace-normal break-words\">Once the deployment is complete, you will see a preview screenshot of your built website. This gives you a quick visual confirmation that the deployment was successful before navigating to your site.<\/p><hr class=\"border-border-300 my-2\"><h2 id=\"Managing-Front-End-Application\" class=\"text-xl font-bold text-text-100 mt-1 -mb-0.5\">Managing Your Node.js App<\/h2><p class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\">The Node.js Website Dashboard has features to help you quickly access important information:<\/p><p class=\"text-lg font-bold text-text-100 mt-1 -mb-1.5\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9504\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-09_17-12.png\" alt=\"\" width=\"905\" height=\"690\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-09_17-12.png 905w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-09_17-12-300x229.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-09_17-12-768x586.png 768w\" sizes=\"auto, (max-width: 905px) 100vw, 905px\" \/><\/p><p><b>1. GitHub Repository Quick Link<\/b><br>\nIf your app is deployed via GitHub, the dashboard now shows a direct link to the connected GitHub repository. Click it to open the repo in a new tab &mdash; useful for quickly checking your code, branches, or recent commits without leaving hPanel.<\/p><p><b>2. Last Deployment Details<\/b><br>\nThe dashboard now displays detailed information about your most recent deployment, including:<br>\n&bull; Deployment status (success or failed)<br>\n&bull; Timestamp of the last deployment<br>\n&bull; A quick link to view the full deployment log<br>\nThis replaces the need to navigate to the Deployments section just to check the latest build status.<\/p><p><b>3. Quick Links to Key Features<\/b><br>\nNew quick navigation links have been added to the dashboard so you can jump directly to:<br>\n&bull; Deployments<br>\n&bull; Environment Variables<br>\n&bull; Settings &amp; Redeploy<br>\n&bull; File Manager<\/p><p><b>4. Resource Usage Graphs<\/b><br>\nThe dashboard now includes average resource usage graphs for the most important plan limits, including CPU, RAM, and I\/O. These graphs give you a quick visual overview of how your Node.js app is consuming hosting resources &mdash; without needing to navigate to the full Resource Usage section.<br>\nIf any metric approaches the red dotted line (your plan&rsquo;s limit), consider optimizing your app or upgrading your plan.<\/p><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>5. Restart<\/strong><\/p><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">The dashboard includes a <strong>Restart<\/strong> button when you click <strong>Running<\/strong> for server-side Node.js applications. Use this to restart the server process directly from hPanel &mdash; no full rebuild or redeployment needed.<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\"><strong>NOTE:<\/strong> The Restart option is only available for server-side apps (e.g., Express.js, Next.js, NestJS). Static front-end applications (React, Vue, Angular, Vite) do not run a persistent server process and will not have this option.<\/div><h3><b>File structure after deployment<\/b><\/h3><p>For Node.js applications that generate back-end build files (e.g., Express.js, Next.js, Nuxt.js, NestJS), build output is stored <b>outside<\/b> of <code>public_html<\/code>:<\/p><p>&bull; <b>Build files location:<\/b> <code>\/home\/{username}\/domains\/{domain}\/nodejs<\/code><br>\n&bull; <b><code>.htaccess<\/code> location:<\/b> <code>\/home\/{username}\/domains\/{domain}\/public_html\/.htaccess<\/code> &mdash; automatically created to handle routing and serve content correctly.<\/p><p>If your application was previously deployed with build files inside <code>public_html<\/code>, they will be moved automatically on the next build.<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\"><b>NOTE<\/b><br>\n&bull; This change applies to back-end frameworks only. Front-end-only apps (React, Vue, Angular) are not affected.<br>\n&bull; If you encounter a 403 error after redeployment, check that the <code>.htaccess<\/code> file in <code>public_html<\/code> is correctly routing to the <code>nodejs<\/code> directory. Redeploying the application regenerates this file.<\/div><hr class=\"border-border-300 my-2\"><h2 id=\"Frequently-Asked-Questions\" class=\"text-xl font-bold text-text-100 mt-1 -mb-0.5\">Frequently Asked Questions<\/h2><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>1. I already have a domain added at Hostinger. How do I deploy Node.js to it?<\/strong><\/p><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Currently, Node.js websites must be deployed as a new website. Here&rsquo;s the process:<\/p><ol class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1.5 [li_&amp;]:gap-1.5 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal flex flex-col gap-2 pl-8 mb-3\">\n<li>If the domain is already added to your hosting plan, make sure to <a href=\"https:\/\/www.hostinger.com\/support\/3624731-how-to-delete-a-website-from-a-hosting-plan-in-hostinger\/\">remove the website<\/a> first before adding the website. <strong>Note<\/strong>: Make sure to download backup before removing the website.<\/li>\n<li>Click <strong>Add Website<\/strong> and select <strong>Frontend web app<\/strong><\/li>\n<li>Choose your deployment method (GitHub or file upload)<\/li>\n<li class=\"whitespace-normal break-words pl-2\">Once deployment is completed, it will be active in the website that you added.<\/li>\n<\/ol><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>2. How do I remove or undeploy my Node.js website?<\/strong><\/p><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Currently, there&rsquo;s no feature to &ldquo;Stop&rdquo; or &ldquo;Delete&rdquo; buttons for Node.js deployments. The recommended way to fully take your app offline is to <a href=\"https:\/\/www.hostinger.com\/support\/3624731-how-to-delete-a-website-from-a-hosting-plan-in-hostinger\/\">remove the entire website<\/a> from hPanel. This action will delete all associated deployments and take your app offline.<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #feedaf80;border-color: #fbc91633\"><strong>NOTE<\/strong>: Before you remove your website, it is strongly advised to download backups as this action is <b>not reversible<\/b>, and all files, databases, emails, and any configuration <b>will be lost<\/b>.<\/div><p class=\"text-text-100 mt-2 -mb-1 text-base font-bold\"><strong>3. What npm commands can be run?<\/strong><\/p><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">You don&rsquo;t need to run npm commands manually via SSH or install NPM separately &ndash; it&rsquo;s already pre-installed by Hostinger.<\/p><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">The npm build commands available to you are visible in the <strong>Build settings<\/strong> dropdown during application setup.<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7208\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-05_15-17.png\" alt=\"\" width=\"1335\" height=\"773\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-05_15-17.png 1335w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-05_15-17-300x174.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-05_15-17-1024x593.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-05_15-17-768x445.png 768w\" sizes=\"auto, (max-width: 1335px) 100vw, 1335px\" \/><\/p><p class=\"whitespace-normal break-words\">That&rsquo;s it! Now you&rsquo;ve learned how to deploy a Node.js app in Hostinger using either GitHub integration or direct file upload. If you have any questions or need further assistance, feel free to reach out to our support team via live chat 24\/7 &ndash; we&rsquo;re always here to help! &#128156;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Node.js Web Apps Hosting allows you to deploy modern web applications built with popular JavaScript frameworks like React, Vue.js, and Angular directly to Hostinger with&#8230;<\/p>\n","protected":false},"author":594,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"include_on_kodee":true,"footnotes":""},"categories":[301],"tags":[],"class_list":["post-6553","post","type-post","status-publish","format-standard","hentry","category-node-js"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/support\/how-to-deploy-a-nodejs-website-in-hostinger","default":1}],"include_on_kodee":true,"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/6553","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/users\/594"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/comments?post=6553"}],"version-history":[{"count":47,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/6553\/revisions"}],"predecessor-version":[{"id":9588,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/6553\/revisions\/9588"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/media?parent=6553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/categories?post=6553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/tags?post=6553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}