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
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