{"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-10-02T02:57:16","modified_gmt":"2026-10-02T02:57:16","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 <a data-click-id=\"hgr-post-content-link-node-js\" href=\"https:\/\/www.hostinger.com\/tutorials\/what-is-node-js\/\">Node.js<\/a> applications on Business and Cloud hosting plans. This guide will show you how to <a data-click-id=\"hgr-post-content-link-deploy-your-node-js-application\" href=\"https:\/\/www.hostinger.com\/tutorials\/deploy-node-js-application\/\">deploy your Node.js application<\/a> step-by-step.<\/p><p>There are four ways to create a Node.js website in Hostinger:<\/p><ul>\n<li><strong>GitHub integration<\/strong> &mdash; deploy directly from a GitHub repository, with automatic builds on every push.<\/li>\n<li><strong>Upload your website files<\/strong> &mdash; deploy by uploading a compressed (.zip) project.<\/li>\n<li><strong>Start from a template<\/strong> &mdash; choose a pre-built template from the gallery to start developing right away.<\/li>\n<li><strong>Hostinger Connector<\/strong> &mdash; for users who prefer working from their local IDE. Connect Cursor, VS Code, Windsurf, or another supported IDE directly to Hostinger and manage your deployment without leaving your editor.<\/li>\n<\/ul><h2 id=\"What-You-Will-Need\">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>If you&rsquo;re currently on a different plan, you can <a data-click-id=\"hgr-post-content-link-upgrade\" href=\"https:\/\/www.hostinger.com\/support\/1583459-how-to-upgrade-a-hosting-plan-at-hostinger\/\">upgrade<\/a> your hosting plan through Hostinger dashboard to access Node.js support.<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #feedaf80;border-color: #fbc91633\">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\">What you&rsquo;ll need<\/h2><ul>\n<li>A Business hosting plan or Cloud hosting plan (Cloud Startup, Cloud Professional, Cloud Enterprise, or Cloud Enterprise Plus)<\/li>\n<li>A Node.js app built with a supported framework<\/li>\n<li>Either a GitHub repository or compressed project files<\/li>\n<\/ul><h2 id=\"Supported-Frameworks-and-Technologies\">Supported frameworks and technologies<\/h2><p>Your Node.js app must be built with one of these frameworks:<\/p><ul>\n<li>Frontend-supported Applications\n<ul>\n<li>React<\/li>\n<li>Vue.js<\/li>\n<li>Angular<\/li>\n<li>Vite<\/li>\n<li>Parcel<\/li>\n<li>Preact<\/li>\n<li>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>Backend-supported Applications\n<ul>\n<li>Next.js<\/li>\n<li>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><strong>Supported <a data-click-id=\"hgr-post-content-link-node-js-versions\" href=\"https:\/\/www.hostinger.com\/support\/how-to-select-the-node-js-version-for-your-application\/\">Node.js versions<\/a>:<\/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><p>See the full setup process in action &mdash; from connecting GitHub and configuring build settings to launching your app and debugging errors.<\/p><div class=\"intercom-h2b-video\">\n<p><iframe title=\"Node.js Hosting : The Complete Setup Tutorial (Easy mode)\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/zbtuwZkypH8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<\/div><h2 id=\"Deploying-from-Github-Repository\">Deploying from a GitHub repository<\/h2><h3>Step 1 &ndash; Access the Node.js web app section<\/h3><p>Log in to your <strong>Hostinger dashboard<\/strong>, navigate to <strong>Websites<\/strong> on the sidebar, and click <a data-click-id=\"hgr-post-content-link-create-website\" href=\"https:\/\/www.hostinger.com\/support\/1583214-how-to-add-a-website-in-hostinger\/\"><strong>Create Website.<\/strong><\/a><\/p><h3>Step 2 &ndash; Select Node.js web app<\/h3><p>Choose <strong>Web App<\/strong> from the available options.<\/p><p><img decoding=\"async\" class=\"alignnone size-full wp-image-19466\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55.png\" alt=\"\" width=\"846\" height=\"316\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55.png 846w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55-300x112.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55-768x287.png 768w\" sizes=\"(max-width: 846px) 100vw, 846px\" \/><\/p><h3>Step 3 &ndash; Choose GitHub Integration<\/h3><p>Select <strong>Import Git Repository<\/strong>:<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28.png\" alt=\"\" width=\"901\" height=\"454\"><\/p><h3>Step 4 &ndash; Authorize GitHub access<\/h3><p>You&rsquo;ll be redirected to GitHub. Click <strong>Authorize<\/strong> to allow Hostinger to access your repositories:<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/c74d3095-697c-4f8f-9d5e-91973cbc76bf.png\" alt=\"\" width=\"1024\" height=\"519\"><\/p><h3>Step 5 &ndash; Select your repository<\/h3><p>Choose the repository containing your Node.js app:<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/f7e9bb52-0ab3-4547-9d68-267e8dbdded4.png\" alt=\"\" width=\"900\" height=\"456\"><\/p><p>You can now deploy straight from a public GitHub repository without connecting that account &mdash; paste the repository&rsquo;s URL into the search field and click Deploy. Since the repository is public, no authorization step is needed. Hostinger checks the link to confirm the repository is genuinely public; if it points to a private repository, the deployment won&rsquo;t proceed.<\/p><p>If you&rsquo;d rather deploy a public repository (for example, a template) into your own GitHub account instead of deploying it as-is, select Create new app. Hostinger will clone the source repository into a new repository under your connected GitHub account. You&rsquo;ll be asked to set:<\/p><ul>\n<li><strong>Repository name<\/strong> &mdash; the name for your new repository.<\/li>\n<li><strong>Visibility<\/strong> &mdash; Private (only you can see it) or Public.<\/li>\n<\/ul><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/07\/2026-07-01_16-46.png\" alt=\"\" width=\"900\" height=\"529\"><br>\nOnce the repository is created, your app deploys from it automatically.<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\">This is currently available for the GitHub deployment flow only, and only for Node.js websites. Other app types aren&rsquo;t supported yet.<\/div><p>Hostinger also offers a gallery of pre-built templates for Node.js web app deployments. Choose a template from the gallery, and Hostinger copies it into a new repository under your connected GitHub account, ready for you to continue developing right away.<\/p><h3>Step 6 &ndash; Configure build settings<\/h3><p>The system will automatically detect your framework and suggest build settings where you can modify them.<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-08.png\" alt=\"\" width=\"899\" height=\"659\"><\/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 decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16.png\" alt=\"\" width=\"827\" height=\"831\"><\/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>Step 7 &ndash; Deploy your website<\/h3><p>Click <strong>Deploy<\/strong> to start building your application.<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/38a2eb0d-a1ef-419e-a908-3e873ed6e031.png\" alt=\"\" width=\"900\" height=\"456\"><\/p><p>Your Node.js app is now live!<\/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 decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-13_18-32.png\" alt=\"\" width=\"902\" height=\"432\"><\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\">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><h2 id=\"Deploying-by-Uploading-Files\">Deploying by uploading files<\/h2><h3>Step 1 &ndash; Access the Node.js apps section<\/h3><p>Log in to <strong>Hostinger dashboard<\/strong>, go to <strong>Websites<\/strong>, and click <strong>Create Website.<\/strong><\/p><h3>Step 2 &ndash; Select front-end application<\/h3><p>Choose <strong>Web App<\/strong> from the options.<\/p><p><img decoding=\"async\" class=\"alignnone size-full wp-image-19466\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55.png\" alt=\"\" width=\"846\" height=\"316\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55.png 846w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55-300x112.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55-768x287.png 768w\" sizes=\"(max-width: 846px) 100vw, 846px\" \/><\/p><h3>Step 3 &ndash; Choose file upload<\/h3><p>Select <strong>Upload your website files<\/strong>:<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/2025-11-07_15-28_1.png\" alt=\"\" width=\"901\" height=\"450\"><\/p><h3>Step 4 &ndash; Upload your project<\/h3><p>Upload a compressed file (<code>.zip<\/code>) containing your Node.js app.<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\">Your uploaded ZIP file is saved automatically.<\/div><h3>Step 5 &ndash; Configure build settings<\/h3><p>Confirm or edit the auto-detected build settings:<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-06_10-13.png\" alt=\"\" width=\"899\" height=\"668\"><\/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 decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/03\/2026-03-31_09-16.png\" alt=\"\" width=\"827\" height=\"831\"><\/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>Step 6 &ndash; Deploy your website<\/h3><p>Click <strong>Deploy<\/strong> to build and launch your application:<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2025\/11\/39d8457e-b666-4c8b-9761-f5d95b259cad.png\" alt=\"\" width=\"899\" height=\"461\"><\/p><p>Your website is now ready to use!<\/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><h2 id=\"h-deploying-from-a-template\">Deploying from a template<\/h2><p>Hostinger offers a gallery of pre-built templates for Node.js web app deployments, so you can start developing right away instead of starting from an empty project.<\/p><h3>Step 1 &ndash; Access the Node.js apps section<\/h3><p>Log in to <strong>Hostinger dashboard<\/strong>, go to <strong>Websites<\/strong>, and click <strong>Create Website<\/strong>, then choose <strong>Web App<\/strong>.<\/p><p><img decoding=\"async\" class=\"alignnone size-full wp-image-19466\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55.png\" alt=\"\" width=\"846\" height=\"316\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55.png 846w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55-300x112.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55-768x287.png 768w\" sizes=\"(max-width: 846px) 100vw, 846px\" \/><\/p><h3>Step 2 &ndash; Choose a template<\/h3><p>Under <strong>Start from a template<\/strong>, select one of the featured templates directly, or click <strong>Browse templates<\/strong> to open the full template gallery.<\/p><p><img decoding=\"async\" class=\"alignnone wp-image-18074\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-300x156.png\" alt=\"\" width=\"554\" height=\"288\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-300x156.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-1024x532.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-768x399.png 768w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-1536x798.png 1536w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-2048x1064.png 2048w\" sizes=\"(max-width: 554px) 100vw, 554px\" \/><\/p><p>In the template gallery, search by name or filter by category, such as Business, E-commerce, or Portfolio. Each template card shows a preview image and a short description to help you choose.<\/p><p><img decoding=\"async\" class=\"alignnone wp-image-18074\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-300x156.png\" alt=\"\" width=\"602\" height=\"313\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-300x156.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-1024x532.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-768x399.png 768w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-1536x798.png 1536w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/09\/Screenshot-2026-09-11-at-14.24.25-2048x1064.png 2048w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/p><h3>Step 3 &ndash; Create your repository<\/h3><p>After selecting a template, Hostinger opens the <strong>Create new app<\/strong> screen, cloning the template into a new repository under your GitHub account. You don&rsquo;t need to connect GitHub beforehand to use a template. Set:<\/p><ul>\n<li><strong>Repository name<\/strong> &mdash; the name for your new repository. This defaults to the template&rsquo;s name.<\/li>\n<li><strong>Visibility<\/strong> &mdash; Private (only you can see it) or Public.<\/li>\n<\/ul><p>Once the repository is created, your app deploys from it automatically.<\/p><h2 id=\"h-deploying-via-hostinger-connector\">Deploying via Hostinger Connector<\/h2><p>Hostinger Connector lets you create and manage your Node.js website directly from your local IDE, without leaving your development environment.<\/p><h3>Step 1 &ndash; Access the Node.js apps section<\/h3><p>Log in to Hostinger dashboard, go to <strong>Websites<\/strong>, and click <strong>Create Website<\/strong>, then choose <strong>Web App<\/strong>.<br>\n<img decoding=\"async\" class=\"alignnone size-full wp-image-19466\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55.png\" alt=\"\" width=\"846\" height=\"316\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55.png 846w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55-300x112.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/10\/2026-10-02_09-55-768x287.png 768w\" sizes=\"(max-width: 846px) 100vw, 846px\" \/><\/p><h3>Step 2 &ndash; Select Hostinger Connector<\/h3><p>Choose Hostinger Connector from the available options.<br>\n<img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/07\/2026-07-02_10-53_1.png\" alt=\"\" width=\"901\" height=\"535\"><\/p><h3>Step 3 &ndash; Choose your IDE<\/h3><p>Select the IDE you use for development &mdash; options include Cursor, VS Code, Windsurf, and others.<br>\n<img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/07\/2026-07-02_10-53.png\" alt=\"\" width=\"899\" height=\"528\"><\/p><h3>Step 4 &ndash; Install the extension<\/h3><p>You&rsquo;ll be directed to install the Hostinger Connector extension for your chosen IDE. Once installed, follow the extension&rsquo;s setup flow to link it to your Hostinger account.<\/p><p>For full setup instructions, see How to set up Web Hosting MCP on local IDEs.<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\">If your app was built using an AI tool like Lovable or Bolt rather than deployed from your own repository, see <a data-click-id=\"hgr-post-content-link-how-to-host-your-lovable-bolt-or-other-vibe-coded-website-on\" href=\"https:\/\/www.hostinger.com\/support\/host-your-lovable-bolt-or-any-other-vibe-coded-website-on-hostinger\/\">how to host your Lovable, Bolt, or other vibe-coded website on Hostinger<\/a> instead.<\/div><h2 id=\"Managing-Front-End-Application\">Managing your Node.js app<\/h2><p>The Node.js Website Dashboard has features to help you quickly access important information:<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-09_17-12.png\" alt=\"\" width=\"905\" height=\"690\"><\/p><p><b>1. GitHub repository quick link<\/b><\/p><p>If 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 Hostinger dashboard.<\/p><p><b>2. Last deployment details<\/b><\/p><p>The dashboard now displays detailed information about your most recent deployment, including:<\/p><ul>\n<li><a data-click-id=\"hgr-post-content-link-deployment-status\" href=\"https:\/\/www.hostinger.com\/support\/how-to-troubleshoot-a-failed-node-js-deployment-using-build-logs\/\">Deployment status<\/a> (success or failed)<\/li>\n<li>Timestamp of the last deployment<\/li>\n<li>A quick link to view the full deployment log. This replaces the need to navigate to the Deployments section just to check the latest build status.<\/li>\n<\/ul><p><b>3. Quick links to key features<\/b><\/p><p>New quick navigation links have been added to the dashboard so you can jump directly to:<\/p><ul>\n<li>Deployments<\/li>\n<li><a data-click-id=\"hgr-post-content-link-environment-variables\" href=\"https:\/\/www.hostinger.com\/support\/how-to-add-environment-variables-during-node-js-application-deployment\/\">Environment Variables<\/a><\/li>\n<li>Settings &amp; Redeploy<\/li>\n<li>File Manager<\/li>\n<\/ul><p><b>4. Resource usage graphs<\/b><\/p><p>The 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. If any metric approaches the red dotted line (your plan&rsquo;s limit), consider optimizing your app or upgrading your plan.<\/p><p><strong>5. Restart<\/strong><\/p><p>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 Hostinger dashboard &mdash; no full rebuild or redeployment needed.<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\">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>Every deployment creates a new build folder, and your live site always points to the most recent successful one. The relevant locations for back-end frameworks are:<\/p><ul>\n<li><strong>Build files location<\/strong>: <code>\/home\/{username}\/domains\/{domain}\/hbuilds\/current\/nodejs<\/code><\/li>\n<li><strong>Live static output<\/strong>: <code>\/home\/{username}\/domains\/{domain}\/public_html<\/code><\/li>\n<li><code><strong>.htaccess<\/strong><\/code><strong> location<\/strong>: <code>\/home\/{username}\/domains\/{domain}\/public_html\/.htaccess<\/code> &mdash; automatically created to handle routing and serve content correctly.<\/li>\n<li><code><strong>current<\/strong><\/code>: it is a symlink that always points to the currently live version of your website. Each successful deployment is saved in its own folder under <code>hbuilds\/versions\/{build-id}\/<\/code>, and <code>current<\/code> automatically updates to point to the newest version. If a deployment fails, your existing live version stays in place. The latest two successful versions are kept, and older versions are automatically removed.<\/li>\n<\/ul><p><strong>Finding your live files<\/strong><\/p><p>In the <a data-click-id=\"hgr-post-content-link-file-manager\" href=\"https:\/\/www.hostinger.com\/support\/4548688-basic-actions-in-the-file-manager-in-hostinger\/\">File Manager<\/a>, look for <code>hbuilds\/current<\/code> inside your domain&rsquo;s directory.<\/p><p>If <code>hbuilds\/current<\/code> exists, your live files are stored in the latest deployment structure. Browse to <code>hbuilds\/current\/nodejs<\/code> for Node.js applications, or <code>hbuilds\/current\/public_html<\/code> for static output.<\/p><p>You may also find an older <code>nodejs\/<\/code> folder outside <code>hbuilds\/current<\/code>. This is a legacy folder that is no longer used once your site has been deployed with the new structure, so it can be safely deleted.<\/p><p>If <code>hbuilds\/current<\/code> doesn&rsquo;t exist yet, your site may still be using a legacy structure. In that case, keep the existing <code>nodejs\/<\/code> folder until the site has been redeployed.<\/p><p><strong>Checking whether your latest deployment went live<\/strong><\/p><p>For the most accurate deployment information, check the <strong>Deployments<\/strong> page in your website&rsquo;s Dashboard. It shows the deployment timestamp and status for each build, making it the best place to confirm when a deployment went live.<\/p><p>The File Manager&rsquo;s <strong>Last modified<\/strong> column reflects each file&rsquo;s original modification time. When a <code>.zip<\/code> file is extracted, those timestamps are preserved from the archive, so they may differ from the deployment time.<\/p><p><strong>NOTES<\/strong><\/p><ul>\n<li>Files under <code>hbuilds\/<\/code> and <code>public_html<\/code> are managed by the deployment system and are overwritten on every deployment. Manual edits made through File Manager, FTP, or SSH won&rsquo;t persist; update your source files (or your GitHub repository) and redeploy instead. Use Environment Variables for configuration values you need to change without redeploying.<\/li>\n<li>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.<\/li>\n<\/ul><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><ul>\n<li><b>Build files location:<\/b> <code>\/home\/{username}\/domains\/{domain}\/nodejs<\/code><\/li>\n<li><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.<\/li>\n<\/ul><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><p><b>NOTES<\/b><\/p><ul>\n<li>This change applies to back-end frameworks only. Front-end-only apps (React, Vue, Angular) are not affected.<\/li>\n<li>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. <a data-click-id=\"hgr-post-content-link-redeploying-the-application\" href=\"https:\/\/www.hostinger.com\/support\/how-to-redeploy-a-node-js-application\/\">Redeploying the application<\/a> regenerates this file.<\/li>\n<\/ul><h2 id=\"h-database-connect-wizard\"><strong>Database Connect Wizard<\/strong><\/h2><p>The Node.js dashboard includes a Database Connect Wizard to help you connect your application to an external database.<\/p><p><strong>Supported providers:<\/strong><\/p><ul>\n<li>Supabase<\/li>\n<li>MongoDB Atlas<\/li>\n<\/ul><p><strong>How it works:<\/strong><\/p><ol>\n<li>Locate the Database Connect Wizard section in your Node.js dashboard.<br>\n<img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/05\/2026-05-04_13-22.png\" alt=\"\" width=\"1340\" height=\"694\"><\/li>\n<li>Select your database provider (Supabase or MongoDB Atlas).<br>\n<img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/05\/2026-05-04_13-23.png\" alt=\"\" width=\"1146\" height=\"680\"><\/li>\n<li>For Supabase: you will be redirected to sign in to your Supabase account to authorize the connection. Once authorized, either create a new database or select an existing one from your account.<\/li>\n<li>All required <a data-click-id=\"hgr-post-content-link-environment-variables-2\" href=\"https:\/\/www.hostinger.com\/support\/how-to-add-environment-variables-during-node-js-application-deployment\/\">environment variables<\/a> are automatically retrieved and applied to your next deployment &mdash; no manual entry needed.<\/li>\n<li>The project rebuilds automatically after setup to apply the new configuration.<\/li>\n<\/ol><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\">Your app&rsquo;s code must already support the database you&rsquo;re connecting to. Hostinger does not modify your application code.<\/div><p>For database connection setup, see:<\/p><ul>\n<li><a data-click-id=\"hgr-post-content-link-connecting-a-supabase-database-to-a-hostinger-node-js-applic\" href=\"https:\/\/www.hostinger.com\/support\/connecting-a-supabase-database-to-a-hostinger-node-js-application\/\">Connecting a Supabase database to a Hostinger Node.js application<\/a><\/li>\n<li><a data-click-id=\"hgr-post-content-link-connecting-a-hostinger-mysql-database-to-a-node-js-applicati\" href=\"https:\/\/www.hostinger.com\/support\/connecting-a-hostinger-mysql-database-to-a-node-js-application\/\">Connecting a Hostinger MySQL database to a Node.js application<\/a><\/li>\n<\/ul><h2 id=\"h-vulnerability-monitoring\"><strong>Vulnerability monitoring<\/strong><\/h2><p>Hostinger Node.js hosting includes automatic vulnerability monitoring for your application&rsquo;s dependencies. To access it, you can go to Security -&gt; Vulnerabilities<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/05\/2026-05-04_13-25.png\" alt=\"\" width=\"1356\" height=\"685\"><\/p><p><strong>What it does:<\/strong><\/p><ul>\n<li>Scans deployed applications for vulnerable npm packages<\/li>\n<li>Reports affected package names, available fixed (secure) versions, and severity levels<\/li>\n<li>Automatically scans all newly deployed applications<\/li>\n<li>Applications deployed before this feature launched are scanned on their next deployment<\/li>\n<\/ul><p><strong>What to do when a vulnerability is detected:<\/strong> Update the affected package to the fixed version listed in the report, then <a data-click-id=\"hgr-post-content-link-redeploy-your-application\" href=\"https:\/\/www.hostinger.com\/support\/how-to-redeploy-a-node-js-application\/\">redeploy your application.<\/a><\/p><p>Hostinger supports automated vulnerability patching for Node.js apps deployed via GitHub. When a vulnerability is detected, you can apply an auto-fix directly from the Vulnerabilities page &mdash; no manual package hunting needed.<\/p><p><strong>How auto-fix works:<\/strong><\/p><ol>\n<li>On the Vulnerabilities page, select one or more vulnerabilities and click <strong>Auto-fix<\/strong> (or Auto-fix all to fix in bulk)<br>\n<img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/05\/2026-05-21_12-40.png\" alt=\"\" width=\"953\" height=\"606\"><\/li>\n<li>Hostinger opens a pull request on your connected GitHub repository with the recommended package update<br>\n<img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/05\/2026-05-21_12-33_1.png\" alt=\"\" width=\"846\" height=\"610\"><\/li>\n<li>Review and merge the PR on GitHub &mdash; nothing is pushed to your branches without your action<\/li>\n<li>Once merged, a new deployment triggers automatically and the vulnerability is marked as fixed<\/li>\n<\/ol><p><b>NOTES<\/b><\/p><ul>\n<li>Auto-fix is only available for apps deployed via GitHub &mdash; file upload deployments are not supported<\/li>\n<li>Not all vulnerabilities have an auto-fix available. For those that don&rsquo;t, update the affected package manually and <a data-click-id=\"hgr-post-content-link-redeploy\" href=\"https:\/\/www.hostinger.com\/support\/how-to-redeploy-a-node-js-application\/\">redeploy<\/a><\/li>\n<li>Auto-fix requires the Hostinger GitHub App to have <a data-click-id=\"hgr-post-content-link-write-access-to-your-repository\" href=\"https:\/\/www.hostinger.com\/support\/how-to-update-github-repository-permissions-for-node-js-hosting\/\">write access to your repository<\/a>. If write access has not been granted, an error will appear when you attempt to create a pull request &mdash; you will need to approve the permission update via the email sent by GitHub on Hostinger&rsquo;s behalf<\/li>\n<li>You still review and merge every PR; Hostinger will not push changes directly to your branches or access your secrets or environment variables<\/li>\n<\/ul><h2 id=\"Frequently-Asked-Questions\">Frequently asked questions<\/h2><p><strong>1. I already have a domain added at Hostinger. How do I deploy Node.js to it?<\/strong><\/p><p>Currently, Node.js websites must be deployed as a new website. Here&rsquo;s the process:<\/p><ol>\n<li>If the domain is already added to your hosting plan, make sure to <a data-click-id=\"hgr-post-content-link-remove-the-website\" 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>Node.js web app<\/strong><\/li>\n<li>Choose your deployment method (GitHub or file upload)<\/li>\n<li>Once deployment is completed, it will be active in the website that you added.<\/li>\n<\/ol><p><strong>2. How do I remove or undeploy my Node.js website?<\/strong><\/p><p>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 data-click-id=\"hgr-post-content-link-remove-the-entire-website\" href=\"https:\/\/www.hostinger.com\/support\/3624731-how-to-delete-a-website-from-a-hosting-plan-in-hostinger\/\">remove the entire website<\/a> from Hostinger dashboard. 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\">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><strong>3. How do I connect, reconnect, or disconnect GitHub on my Node.js website?<\/strong><\/p><p>To connect or reconnect GitHub: Go to the website <strong>Dashboard<\/strong> in Hostinger dashboard, click the &#8942; menu, and select <strong>Connect to GitHub<\/strong>. You will be redirected to GitHub to authorize the Hostinger app. Once authorized, automatic and manual deployments will resume. If your GitHub account was previously disconnected, the same steps apply &mdash; no need to remove and re-add the website.<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/06\/2026-06-24_13-54_1.png\" alt=\"\" width=\"1360\" height=\"739\"><\/p><p>To change your GitHub repository: Go to the website <strong>Dashboard<\/strong> in Hostinger dashboard, click the &#8942; menu, and select <strong>Change repository<\/strong>. You will be led through the GitHub onboarding flow to select which repository you want to use. The repository list shown will be based on your currently connected GitHub account. Once you select a new repository, a new deployment will start automatically, and your previous website files will be overwritten by the newly connected repository.<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #feedaf80;border-color: #fbc91633\">Changing your deployment repository will overwrite existing data in your target directory with files from the newly connected repository.<\/div><p>To disconnect GitHub: Go to the website <strong>Dashboard<\/strong> in Hostinger dashboard, click the &#8942; menu, and select <strong>Disconnect GitHub<\/strong>. This will unlink your GitHub account from the website. Existing deployed files will remain unchanged. You can also manage your GitHub account connection from your Hostinger dashboard profile details.<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/07\/2026-07-23_13-58.png\" alt=\"\" width=\"1274\" height=\"836\"><\/p><p>If you get an error during GitHub OAuth authorization, disconnect GitHub at the account level first, then reconnect from the website Dashboard. To disconnect, click your profile icon in the top right, go to <strong>Account information<\/strong>, scroll to <strong>Account integrations<\/strong>, and click <strong>Disconnect<\/strong> next to GitHub.<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/07\/2026-07-10_11-24.png\" alt=\"\" width=\"1367\" height=\"622\"><\/p><p>Then go back to <strong>Websites<\/strong>, open the affected website&rsquo;s Dashboard, and click <strong>Connect GitHub<\/strong> like the steps above. This resolves the mapping error in most cases.<\/p><p><strong>4. What npm commands can be run?<\/strong><\/p><p>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><div class=\"intercom-interblocks-callout\" style=\"background-color: #feedaf80;border-color: #fbc91633\">On Business and Cloud plans, npm commands are run automatically when you deploy Node.js apps, but the command cannot be run through SSH.<\/div><p>The npm build commands available to you are visible in the <strong>Build settings<\/strong> dropdown during application setup.<\/p><p><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/01\/2026-01-05_15-17.png\" alt=\"\" width=\"1335\" height=\"773\"><\/p><p><strong>5. How do I connect a custom domain to my Node.js app?<\/strong><\/p><p>See how to <a data-click-id=\"hgr-post-content-link-connect-a-custom-domain-to-a-node-js-application\" href=\"https:\/\/www.hostinger.com\/support\/how-to-connect-a-custom-domain-to-a-node-js-application\/\">connect a custom domain to a Node.js application<\/a> for setup steps.<\/p><p>That&rsquo;s it! Now you&rsquo;ve learned how to deploy a Node.js app in Hostinger using either GitHub integration, file upload, a template, or the Hostinger Connector. 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!<\/p><p>&nbsp;<\/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":79,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/6553\/revisions"}],"predecessor-version":[{"id":19467,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/6553\/revisions\/19467"}],"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}]}}