System Requirements
Server Requirements
Operating System
- Ubuntu 20.04 LTS, 22.04 LTS, or 24.04 LTS (recommended)
- Debian 11 (Bullseye) or 12 (Bookworm)
Other Linux distributions may work but are not officially supported.
Hardware (Minimum)
| Resource | Master | Slave |
|---|---|---|
| CPU | 1 vCPU | 1 vCPU |
| RAM | 1 GB | 1 GB |
| Disk | 20 GB | Same as master |
Hardware (Recommended)
| Resource | Master | Slave |
|---|---|---|
| CPU | 2+ vCPU | 2+ vCPU |
| RAM | 2+ GB | 2+ GB |
| Disk | SSD, 2x WordPress size | Same as master |
Software Stack
The master server must have:
- Web server: Nginx or Apache
- PHP: 7.4, 8.0, 8.1, 8.2, or 8.3
- Database: MySQL 5.7+, 8.0+ or MariaDB 10.3+
- WordPress: Any recent version
The slave server should match the master's software versions. If software is missing, Tergum can auto-install it during setup.
Network Requirements
Outbound Access (Required)
Both servers need outbound HTTPS (port 443) to:
app.tergum.ca- Tergum APIlogin.tailscale.com- Tailscale coordination*.cloudflare.com- Cloudflare services
Inbound Access
- No inbound ports required on either server
- All communication uses outbound connections
- Works behind NAT, firewalls, and residential internet
Bandwidth
- Initial clone: depends on WordPress size (plan for 10-100 MB/min)
- Ongoing replication: minimal (a few KB/s for typical sites)
- Heartbeats: ~1 KB every 30 seconds
Third-Party Accounts
Cloudflare (Required)
- Free tier is sufficient
- Domain DNS must be managed by Cloudflare
- API token with
Zone:DNS:EditandAccount:Cloudflare Tunnel:Readpermissions
Tailscale (Required)
- Free tier supports up to 100 devices
- Used for secure server-to-server communication
WordPress Requirements
Supported Configurations
- ✅ Single-site WordPress
- ✅ WordPress Multisite (subdirectory mode)
- ⚠️ WordPress Multisite (subdomain mode) - requires additional DNS setup
Plugin Compatibility
Most plugins work normally. During failover, plugins that require:
- Outbound API calls: will work if slave has internet
- Local file writes: may have delayed sync (few seconds)
- External services: depend on those services
Known Incompatibilities
- Plugins that modify
.htaccessdynamically - Plugins with hardware-locked licenses (may need reactivation)
- Real-time collaboration plugins (may lose recent changes)
Pre-Flight Checklist
Before starting setup, verify:
- Two servers meeting hardware requirements
- Ubuntu/Debian installed on both
- Root SSH access working
- WordPress running on master
- Cloudflare account with domain added
- Tailscale account created
- Tergum account registered