Moodle
Virtual campus with peaks on class schedule.
Moodle scales with CONCURRENT users, not registered users, and that nuance changes the sizing. A school with 2,000 students but 80 online at once runs fine on 4 GB; trouble comes at assignment or exam deadlines, when concurrency multiplies within minutes. It needs a cron every minute and plenty of room for uploaded files, which grow faster than expected.
RAM ≥ 4 GB CPU ≥ 2 cores Storage ≥ 40 GB
Recommended plans
Chosen for fitting the requirements and the price/performance for this workload.
Why: 8 GB with headroom for exam peaks
contabo/vps-10.json 9 regions · Contabo
Contabo Cloud VPS 10
No longer available
4 vCPU, 8 GB RAM, 75 GB NVMe from €3.60/mo on 12-month term.
$3.91 /mo
~15 ms ★ Featured Best price<€4
4.2
vCPU
4 Intel/AMD shared
RAM
8 GB
NVME
75 GB
Bandwidth
∞ unmetered
4 vCPU 8 GB RAM 75 GB NVME ∞
Why: 4 GB is enough for a small school, with NVMe
Why: With a control panel, if you'd rather not manage the server
phantomserver/sd-lite-da.json 1 region · Phantom Server
Phantom Server SD Lite (DirectAdmin)
Semi-dedicated with DirectAdmin, 4 GB RAM and 2 dedicated CPUs.
$4.00 /mo
~200 ms
NVME
30 GB
Sites
5
Traffic
∞ unmetered
30 GB NVME 5 sites Traffic ∞
Operational tips
- Size by peak concurrent users, not by enrolled students.
- Moodle's cron must run every minute; without it, tasks and notifications stop.
- moodledata grows fast with videos and submissions: watch the disk from month one.
- Above 200 concurrent users, splitting the database from the web server pays off.