A Domain India KVM VPS is a self-managed Linux server with full root access, so you decide which tools and stacks go on it. For development, the right order is always the same: secure the server once, add only the runtime your project needs, then set up deployments and off-server backups. This page gives that order and sends you to the detailed guide for each step and each stack.
The complete baseline, with every command for users and SSH keys, the firewall, automatic updates, a reverse proxy with HTTPS and systemd, is in From zero to production: the complete VPS setup guide for popular stacks. This page is the development-focused summary.
Use a current LTS distribution such as Ubuntu 24.04, not CentOS. Create a sudo user with an SSH key, turn off password logins, enable a firewall allowing only SSH, 80 and 443, and turn on automatic security updates. Install only your stack's runtime, keep databases on 127.0.0.1, put Nginx or Caddy in front of your app, and copy backups off the server. The VPS is self-managed: for start, stop, reinstall or resize, open a ticket.
1. What you are working with
A Domain India VPS runs on KVM with full root access and your choice of Linux. It is self-managed: you install, secure and update the software yourself. At checkout you can choose no control panel, or CyberPanel, Webuzo or DirectAdmin, as listed on the VPS page. cPanel is not offered on VPS. For development servers, no panel is usually the best choice, because panels add services, ports and conflicts you don't need; see choosing a control panel for your VPS.
There is no VPS management page in the client area. You reboot the server yourself over SSH (sudo reboot). For a start, stop, force restart, OS reinstall, console access, resize or snapshot restore, open a ticket with the VPS IP address and support will do it.
sudo poweroff or shutdown -h now switches the VPS off, and it stays off until support starts it again. Use sudo reboot instead. See Managing your VPS: start, stop, reboot.
2. The baseline, in order
- Log in and update.Connect with
ssh [email protected]using the details from your welcome email, then runapt update && apt -y upgrade(ordnf -y upgradeon AlmaLinux or Rocky Linux). See accessing your VPS using SSH. - Create a sudo user with a key.Generate a key on your own computer with
ssh-keygen -t ed25519, add it to the new user, and confirm a key login works in a second terminal before you change anything else. - Harden SSH.Turn off password logins and root password logins. The SSH security hardening checklist has the exact settings.
- Enable a firewall.Allow SSH first, then 80 and 443, then enable UFW (or firewalld on AlmaLinux and Rocky). Add Fail2ban. See setting up a firewall on your VPS.
- Turn on automatic security updateswith
unattended-upgrades(ordnf-automatic). - Add swap if memory is tight.On a 2 GB VPS, a 2 GB swap file stops builds such as
npm installorng buildfrom being killed. Create it withfallocate,mkswapandswapon, and add it to/etc/fstab.
Skip guides that use yum on CentOS 7 or 8, apt-key, MongoDB 4.4, Java 11 or mysql-server on CentOS. Those releases are end of life. For a new server, ConfigServer stopped developing CSF in 2025, so use UFW or firewalld with Fail2ban.
3. Install only what your stack needs
Each stack has its own runtime, process manager and build step. Install one, not all of them. The dedicated guides use current versions:
| Stack | What it needs on the VPS | Guide |
|---|---|---|
| MERN or MEAN (Node.js) | Node.js LTS via nvm, PM2 or systemd, MongoDB on 127.0.0.1, Nginx | MERN/MEAN on a clean VPS |
| PHP (Laravel, LAMP or LEMP) | Nginx or Apache, PHP-FPM, MySQL or MariaDB | LAMP with Laravel on a VPS |
| Python (Django, FastAPI) | venv, Gunicorn with Uvicorn workers, PostgreSQL | FastAPI production deployment |
| Java (Spring Boot) | JDK LTS, a runnable jar under systemd | Spring Boot on a VPS |
| Go | One static binary under systemd | Go applications on a VPS |
| Ruby on Rails | Ruby, Puma, Nginx, PostgreSQL | Ruby on Rails deployment |
Whatever the stack, the app listens on 127.0.0.1 and a reverse proxy (Nginx with Certbot, or Caddy) is the only public entry point. Databases stay on localhost; reach them from your computer with an SSH tunnel such as ssh -L 5432:127.0.0.1:5432 [email protected].
4. Development tools and workflow
- Git on the server, with a deploy key that can only read your repository.
- Docker and Docker Compose if you want isolated services or matching dev and production. Publish container ports on
127.0.0.1only, because Docker bypasses UFW. See Docker basics. - Remote editing: VS Code's Remote SSH extension lets you edit and debug on the VPS as if it were local; see develop faster with VS Code Remote SSH.
- Staging and production: keep them separate, at least as separate users, databases and domains, or better on separate servers.
- CI/CD: build and test in CI, then copy only the result to the server. See GitHub Actions CI/CD to a VPS.
5. Monitoring and backups
Start with htop, df -h, free -h and journalctl. For dashboards and alerts, see Prometheus, Grafana and Loki on a VPS.
Back up your databases (pg_dump, mysqldump, mongodump) and uploaded files on a schedule, and copy them off the server to object storage or another machine. Test a restore before you need one. Snapshot options vary by plan; ask support what your VPS includes, and don't treat a snapshot of the same server as your only backup.
6. Where Domain India fits
- 1 vCPU
- 2 GB DDR4 RAM
- 64 GB NVMe SSD Storage
- 2 TB Monthly Bandwidth
- 2 vCPU
- 4 GB DDR4 RAM
- 128 GB NVMe SSD Storage
- 3 TB Monthly Bandwidth
Prices on the cards are live Domain India list prices and exclude 18% GST. If you would rather not manage a server, the App Platform runs Node.js apps automatically and other stacks from a Dockerfile, with PostgreSQL and SSL included; see App Platform: getting started.
Frequently asked questions
Is a Domain India VPS managed?
No. A Domain India VPS is self-managed with full root access, so you install, secure and update the software yourself. For start, stop, reinstall or resize, open a ticket and support will do it.
Which Linux distribution should I use for a development VPS?
A current long-term-support release such as Ubuntu 24.04 LTS, Debian 12, or AlmaLinux or Rocky Linux 9. Avoid CentOS 7 and CentOS 8, which no longer receive security updates.
Can I get cPanel on a Domain India VPS?
No. cPanel is not offered on VPS. At checkout you can choose no control panel, or CyberPanel, Webuzo or DirectAdmin, as listed on the VPS page. For development, no panel is usually best.
How do I restart or reinstall my VPS?
Reboot it yourself over SSH with sudo reboot. There is no VPS page in the client area, so for a start, stop, force restart or OS reinstall, open a ticket with the VPS IP address and support will do it.
Should my database be reachable from the internet?
No. Bind it to 127.0.0.1 and connect from your computer through an SSH tunnel. If it runs in Docker, publish the port on 127.0.0.1 only, because Docker's rules bypass UFW.
Do I need Apache or Nginx for a Node.js app?
In production, yes. A reverse proxy such as Nginx or Caddy handles HTTPS, serves static files and forwards requests to your app on a local port, so the app itself is never exposed directly.
Ready to build? Pick a plan on the VPS page, follow the complete VPS setup guide once, then open the guide for your stack. Not sure you need a server? Open a ticket and tell us what you want to run.
Full root access on KVM, with your choice of Linux and an optional control panel.
Compare VPS plans