Anested CloudAnestedCloud
Back to docs
VPSUpdated August 6, 2026 · 9 min read

Deploy your first app on a VPS

Connect over SSH, run your app behind Nginx, add a domain with free HTTPS, and secure the server — a full first-deploy walkthrough.

Getting started

What is a VPS and when do I need one instead of web hosting?

A VPS (Virtual Private Server) is a full Linux machine with root access, dedicated CPU and RAM, and its own IP. You choose it over shared web hosting the moment you need to run your own stack — a Node.js or Python API, a background worker, Docker containers, a game server, Redis, or anything that isn't just PHP and files.

On Anested Cloud every VPS ships with a dedicated IP and full root, so you're never sharing a runtime with other tenants. Start on a small plan and resize up online as you grow — the disk and RAM scale without a rebuild.

How do I connect to my Anested VPS over SSH?

When your VPS is provisioned, the dashboard shows its IP and lets you add your SSH public key. From your machine, connect with the key you registered:

# add your key in the dashboard first, then:
ssh root@YOUR_SERVER_IP

# or specify a key explicitly
ssh -i ~/.ssh/id_ed25519 root@YOUR_SERVER_IP

Running your app

How do I deploy a Node.js or Python app and keep it running?

Get your code onto the box (git clone or scp), install its dependencies, then run it under a process manager so it survives crashes and reboots. For Node, PM2 is the simplest choice:

The same pattern applies to Python (use gunicorn/uvicorn under systemd or PM2) — the goal is a long-running process supervised by something that restarts it automatically.

npm install -g pm2
pm2 start app.js --name myapp
pm2 startup    # keep it running after reboot
pm2 save

How do I put Nginx in front and add a domain with HTTPS?

Run your app on a local port (say 3000) and let Nginx handle the public traffic on ports 80/443, proxying to it. Point your domain's A record at the VPS IP, then issue a free Let's Encrypt certificate with certbot:

sudo apt install nginx certbot python3-certbot-nginx -y
# minimal reverse-proxy server block → proxy_pass http://127.0.0.1:3000;
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Keeping it healthy

How do I secure a fresh VPS?

Spend the first ten minutes hardening the box. The essentials:

  • Create a non-root sudo user and disable root SSH login and password auth (keys only).
  • Enable a firewall (ufw) and allow only the ports you use — typically 22, 80 and 443.
  • Install unattended-upgrades so security patches apply automatically, and add fail2ban to blunt brute-force attempts.
  • Never commit secrets — keep them in environment variables or a .env file the app reads at runtime.

How do I monitor and back up the server?

The dashboard shows live CPU, RAM and bandwidth for each VPS, and sends lifecycle emails so you're never surprised by an expiry. For your own data, script regular backups of your database and any user uploads to a Nest Storage bucket — off-box copies are what make a server disposable and recoverable.

Still stuck?

Our team can look at your site directly — reach out and we'll help you sort it.

Contact support