VOLTRUS Blog
← All Posts

Deploying SCADA on a $4 VPS: A System Integrator's Guide

Your client needs industrial monitoring. Their budget is tight. Their infrastructure is a single cheap VPS with 2 GB RAM. Traditional SCADA vendors will laugh at you. But a $4 VPS is more than enough if you choose the right software. This is the simplest SCADA architecture you can deploy — a single binary on a single server.

This guide walks you through deploying production-grade Modbus monitoring on the smallest VPS available — and keeping your margin intact.

Why the VPS Specs Do Not Matter (Much)

The typical integrator stack assumes you need:

  • 1-2 GB RAM for the application
  • 2-4 CPU cores for "performance"
  • 20+ GB SSD for database growth

Those numbers come from Java-based SCADA suites, container orchestration, and databases designed for web-scale analytics. Industrial monitoring is not web-scale. A power meter sends one Float32 value per second. That is 4 bytes per second. A plant with 100 sensors generates 400 bytes per second. Over a year, that is about 12 GB of raw data — less than two 4K movies.

What You Actually Need

For a typical deployment monitoring 20-100 Modbus registers:

  • RAM: 128 MB is plenty for the application + OS overhead
  • CPU: 1 shared core handles polling, storage, and web serving
  • Disk: 5 GB covers the OS, binary, and years of data
  • Network: Any VPS with a public IP works

The cheapest VPS from any major provider meets these specs. DigitalOcean's $4 droplet, Hetzner's €3.79 instance, or Vultr's $2.50 plan all work. For lightweight SCADA software, these minimal resources are more than sufficient.

The Deployment (5 Minutes)

Step 1: Provision the VPS

Spin up an Ubuntu 22.04 instance with the smallest plan. SSH in:

ssh root@your-vps-ip

Step 2: Create a User

Running as root is bad practice. Create a dedicated user:

adduser voltrus
usermod -aG sudo voltrus
su - voltrus

Step 3: Download and Extract

wget https://dl.voltrus.id/voltrus-v0.16.0-linux-x86_64.tar.gz
tar -xzf voltrus-v0.16.0-linux-x86_64.tar.gz
chmod +x voltrus

Step 4: Configure

cp config.yaml.example config.yaml
nano config.yaml

Set your server port, database path, and add your Modbus devices through the UI after first run.

Step 5: Run with systemd

sudo cp deploy/voltrus.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable voltrus
sudo systemctl start voltrus

Step 6: Verify

systemctl status voltrus
curl http://localhost:3000/health

Open http://your-vps-ip:3000 in a browser. Default login is admin / admin. Change it immediately.

Resource Verification

After running for 24 hours, check actual usage:

ps aux | grep voltrus
free -h
df -h

Typical numbers on a $4 VPS:

  • Process RAM: 10-20 MB
  • Total system RAM used: 180-220 MB of 2 GB
  • Disk: 2-3 GB for OS + binary + first month of data
  • CPU: <1% average, spikes to 5% during history queries
Reality check: The OS uses more RAM than the application. That is how lightweight a native binary is compared to JVM-based or containerized stacks.

Security on a Budget

A $4 VPS does not mean insecure. The basics cost nothing:

  • Firewall: ufw allow 22/tcp && ufw allow 3000/tcp && ufw enable
  • Reverse proxy: Put Nginx or Caddy in front for HTTPS (free with Let's Encrypt)
  • Auth: Change the default admin password immediately
  • Updates: Enable unattended-upgrades for security patches

What to Charge Your Client

Here is the math that keeps integrators in business:

  • VPS: $4/month × 12 = $48/year
  • License: $249 one-time
  • Your setup time: 2-4 hours
  • Your ongoing maintenance: Minimal (auto-updates, occasional check-ins)
  • Total year-one cost: $548

Charge your client $2,000 for the deployment. Or $5,000 if it includes custom dashboard configuration and training. Your margin is the difference.

When to Upgrade the VPS

You will outgrow a $4 VPS when:

  • You are monitoring 500+ sensors with sub-second polling
  • You have 50+ concurrent dashboard users
  • You need years of raw data retention without downsampling

Until then, the $4 plan is not a constraint — it is a competitive advantage. And if you need even cheaper edge deployment, see our guide to running SCADA on a Raspberry Pi.

Frequently Asked Questions

Can you really run SCADA on a $4 VPS?

Yes, with lightweight native software like Voltrus. A single-binary SCADA uses 10-20 MB of RAM, leaving most of a 2 GB VPS free. After 24 hours of operation, typical numbers are 180-220 MB total system RAM used, 2-3 GB disk for OS and data, and under 1% average CPU. The key is avoiding JVM-based or containerized stacks that consume 1-2 GB before your application even starts.

How many sensors can a $4 VPS monitor?

A $4 VPS (1 CPU, 2 GB RAM) comfortably monitors 20-100 Modbus TCP sensors with sub-second polling. Industrial data volumes are small: 100 sensors at 1 reading/second produces about 400 bytes/second, or roughly 12 GB per year. You only need to upgrade when monitoring 500+ sensors with sub-second polling or serving 50+ concurrent dashboard users.

How do I secure SCADA on a cheap VPS?

Four steps cover the essentials: configure UFW firewall to allow only SSH (port 22) and the SCADA web interface (port 3000), set up a reverse proxy like Caddy or Nginx with free Let's Encrypt HTTPS, change the default admin password immediately, and enable unattended-upgrades for automatic OS security patches. These measures cost nothing and provide solid protection.

How long does it take to deploy SCADA on a VPS?

About 5 minutes for the software: download the binary, create a system user, configure systemd, start the service. Add 1-4 hours for device configuration, dashboard building, and alert setup through the web UI. Total from fresh VPS to live monitoring dashboard is typically under 5 hours.

What VPS providers work for SCADA deployment?

Any provider offering x86_64 Linux with at least 512 MB RAM. DigitalOcean's $4 droplet, Hetzner's entry-level instances, Vultr's $2.50 plan, and AWS Lightsail's $3.50 tier all work. The cheapest plan from any major provider handles monitoring up to 100 Modbus TCP sensors without breaking a sweat.

Built for Cheap VPS

Voltrus runs on any x86_64 Linux VPS. Deploy in 5 minutes, charge what the market bears.

Learn More About Voltrus

Further Reading