MERN Stack

Why Run MERN, MEAN, Node.js, or Other Modern Stacks Without a Control Panel on Your VPS

By the Domain India teamPublished 8 min read
Knowledge base article
Contents (9 sections)

Hosting control panels such as cPanel, Plesk, DirectAdmin and Webuzo were designed for PHP websites: WordPress, Joomla and similar apps running on Apache or nginx with MySQL. Modern application stacks such as MERN, MEAN, Next.js, Django, FastAPI or Go work differently, and on a server of your own a panel often gets in their way. This article explains why, when a panel is still the right choice, and what to use instead. It is about your own VPS, where you have root access; on shared hosting the server setup is managed for you.

Key takeaways

For a Node.js, Python or Go app on your own VPS, a clean server with nginx (or Caddy), a process manager such as systemd or PM2, and Docker for databases is simpler, lighter and easier to debug than a hosting panel. Panels add a second web server layer, generate configuration that can overwrite yours, and expose another login page to attack. Choose a panel when you host many PHP sites, need mailboxes, or hand the server to people who won't use SSH.

1. What a control panel is built for

A panel turns a Linux server into a browser-based hosting product. It gives you:

  • websites and domains managed from forms, with Apache or nginx virtual hosts generated for you;
  • one-click installers for WordPress and other PHP apps;
  • email accounts, spam filtering, DNS zones, FTP users, cron jobs and backups;
  • PHP version switching and MySQL or MariaDB databases.

That is exactly what a PHP website and a non-technical owner need. A modern application needs almost none of it.

2. How a modern app stack runs

A typical MERN or MEAN deployment has four parts, and only one of them faces the internet:

PartListens onJob
nginx or CaddyPublic ports 80 and 443TLS certificates, static files, reverse proxy
FrontendFiles on disk, or 127.0.0.1:3000 for server-side renderingReact, Angular, Vue or Next.js
API127.0.0.1:4000Express, NestJS, FastAPI or Go, kept running by systemd or PM2
Database127.0.0.1 onlyMongoDB, PostgreSQL or MySQL, often in Docker

Nothing in this picture needs a control panel. For the full build, step by step, see running MERN or MEAN on a clean VPS.

3. Where a panel gets in the way

A second web server layer
Many panels put Apache behind nginx, or their own proxy in front of yours. Every extra hop must pass WebSocket upgrade headers, long-lived connections and real client IPs correctly, or real-time features and rate limits break.
Redirect and HTTPS loops
The panel forces HTTPS, and so does your app or framework. Unless the app trusts the proxy's X-Forwarded-Proto header, you get endless redirects or mixed-content warnings.
Configuration that gets overwritten
Panels regenerate virtual host files from templates. A proxy rule you edit by hand can disappear on the next panel update or domain change.
Two ideas of how apps run
The panel's app manager, your Node version manager and PM2 can each start the app differently, with different versions and environment variables.
Logs in three places
Panel logs, web server logs and application logs sit in different folders, which slows down every debugging session.
More to patch and attack
A panel runs its own login page, mail server, DNS server and background services. Each is memory your app can't use and software you must keep updated.

4. What you gain, and what you take on

Without a panel you gain
  • All the server's memory and CPU for your app and database
  • One reverse proxy config that you write and version in Git
  • Clean, predictable logs from systemd, PM2 or Docker and nginx
  • Fewer open ports and no panel login page to attack
  • Any runtime version you need, upgraded when you choose
Without a panel you take on
  • TLS certificates, handled by Certbot or Caddy
  • The firewall, SSH hardening and security updates
  • Backups, which you must send off the server yourself
  • Email: use a separate mail service rather than running mail on the app server

The work on the right is a one-time setup plus routine upkeep. If that sounds like more than you want, a managed platform may suit you better (section 7).

5. When a panel is still the right choice

A panel earns its place when:

  • you host several PHP websites, especially for clients, and want each one managed from a browser;
  • you need mailboxes on the same server as the websites;
  • someone who doesn't use SSH will manage sites, databases or email;
  • you want one-click installers for WordPress and similar apps.

A mixed setup is also common: keep WordPress sites on shared hosting or a panel server, and run the app on a separate clean VPS or a managed app platform. For a comparison of the panels themselves, see choosing the best control panel for your VPS.

6. Which setup fits your project

Your projectRecommended setup
A single Node.js, Python or Go app with an APIClean VPS: nginx, systemd or PM2, Docker for the database
A SaaS with several servicesClean VPS with Docker Compose, or a managed app platform
Several WordPress or PHP sites with emailShared hosting, or a VPS with a panel
An agency hosting client sitesA panel, so clients can manage their own sites and mail
A prototype you want online todayA managed app platform, no server to maintain

7. The panel-free toolkit in 2026

  • Reverse proxy: nginx, or Caddy if you want certificates handled automatically.
  • Process manager: systemd units, or PM2 for Node.js apps (pm2 startup and pm2 save bring them back after a reboot). See PM2 process management.
  • Runtimes: the current Node.js LTS line is 24; Node.js 20 reached end of life in April 2026. Use the supported Python and Go releases your framework recommends.
  • Databases: in Docker, published on 127.0.0.1 only, because Docker's port rules bypass ufw.
  • Security: SSH keys only, a firewall that allows just 22, 80 and 443, and automatic security updates. See the SSH security hardening checklist and VPS firewall setup.

8. Running this on Domain India

Domain India VPS plans are self-managed KVM servers with full root access. At checkout you can choose no control panel, which is the right choice for everything in this article; the other options are CyberPanel, Webuzo or DirectAdmin. cPanel is not offered on our VPS plans. On 19 September 2026, Domain India list prices were ₹553 a month for VPS Starter (1 vCPU, 2 GB RAM) and ₹1,105 a month for VPS Basic (2 vCPU, 4 GB RAM), excluding 18% GST. VPS plans are non-refundable once provisioned.

If you would rather not manage a server, the App Platform runs your app in containers with SSL: Node.js apps are detected automatically, anything else deploys from a Dockerfile, and each plan includes a PostgreSQL database. It does not support WebSockets, so a real-time app needs a VPS. Plans start at ₹100 a month. See App Platform: getting started.

On cPanel shared hosting, simple Node.js apps can run through the panel's Node.js tool, but MongoDB is not available from shared hosting. See deploying a Node.js app on shared hosting.

Frequently asked questions

Do I need a control panel to run a MERN stack on a VPS?

No. A MERN app needs a reverse proxy such as nginx, a process manager such as PM2 or systemd, and MongoDB bound to localhost. A panel adds a second web server layer and extra services without helping the app.

Can I run Node.js apps under cPanel, Webuzo or Plesk?

Yes, most panels have a Node.js app manager, and it works for simple apps. On your own server it adds a layer between nginx and your app, which can complicate WebSockets, HTTPS redirects and version management.

When should I use a control panel on my VPS?

When you host several PHP websites, need mailboxes on the same server, or when people who don't use SSH will manage the sites. For a single modern app, a clean server is simpler.

Which control panels can I choose on a Domain India VPS?

At checkout you can choose no control panel, CyberPanel, Webuzo or DirectAdmin. cPanel is not offered on Domain India VPS plans. For Node.js, Python or Go apps, choose no control panel.

Is a server without a panel less secure?

Usually it is more secure, because there is no panel login page, mail server or DNS server exposed to the internet. You must still use SSH keys, a firewall that allows only the ports you need, and regular security updates.

Can I run a real-time app with WebSockets on the Domain India App Platform?

No. The App Platform does not support WebSockets. Run a real-time app on a VPS behind nginx with WebSocket upgrade headers configured.

Ready to build? Compare VPS plans and choose no control panel at checkout, or look at the App Platform if you would rather not manage a server. Not sure which fits? Ask on the 24/7 live chat or open a support ticket.

Run your app on a clean VPS

A self-managed KVM VPS with full root access, ordered with no control panel, ready for Node.js, Python, Go and Docker.

See VPS plans

Was this article helpful?

Your answer helps us decide what to improve next.

Still need help? Open a support ticket and our team will reply.

Prefer an app? Add this site to your home screen.Get the app
Why Run Node.js and MERN Apps on a VPS Without a Panel