Moodle logo
CMS & Commerce

Moodle Hosting on Your Own VPS

An LMS sized for concurrent students, with the cron and caching Moodle depends on.

Size a server for Moodle

Every stop is a real configuration you can deploy. Priced per month and billed monthly, exclusive of 18% GST.

4 vCPU
2 vCPU $3.93 a month 64 vCPU
8 GB
4 GB $3.93 a month 128 GB
80 GB
20 GB $3.02 a month 2000 GB

What Moodle is

Moodle is the most widely deployed open-source learning management system. It handles courses, enrolment, assignments, quizzes, grading and reporting, and it is a large PHP application with a correspondingly large database.

Its load profile is unlike a normal website and this is the thing to plan for. Traffic is not spread through the day — it spikes hard when a class starts, an assignment is due, or a quiz opens. Two hundred students submitting a quiz in the same five minutes is a completely different demand from two hundred pageviews an hour, and sizing against average traffic will fail exactly when it matters most.

Cron is not optional. Moodle's scheduled tasks handle notifications, grade recalculation, backups, message delivery and cleanup, and the documented expectation is that cron runs every minute. Hosts that limit cron frequency produce an installation where grades lag and notifications never arrive — a failure that looks like a Moodle bug and is not.

“Moodle is the World's Open Source Learning Platform, widely used around the world by countless universities, schools, companies, and all manner of organisations and individuals.”

— Moodle, on GitHub

Why run Moodle on a VPS

A one-minute cron entry, which Moodle explicitly requires.

Redis for session and application caching, which carries quiz-time spikes.

PHP worker counts you control — the ceiling on simultaneous submissions.

Root access for PHP limits, which Moodle needs raised for backups and imports.

Disk for moodledata, which grows with every uploaded assignment.

Moodle features

Courses, enrolment and cohorts

Assignments, quizzes and gradebook

SCORM and H5P activity support

Redis session and application caching

Scheduled task runner on system cron

Backup and restore per course

Plugin ecosystem

Moodle hosting requirements

The recommended starting point for Moodle, not a hard floor — size it on the sliders.

Memory8 GB — sized against concurrent students, not total enrolment
CPU4 vCPU; quiz submissions are CPU-bound and arrive together
Storage80 GB and upward — moodledata grows with every submission
Operating systemUbuntu 22.04 LTS
Installs onUbuntu 24.04 LTS, Ubuntu 22.04 LTS, Debian 12 Bookworm
Ready inAbout 8 minutes
Smallest server2 vCPU · 4 GB memory · 20 GB disk

How deployment works

Moodle is installed with PHP-FPM at raised memory limits, MariaDB or PostgreSQL, and Redis for sessions and caching. Cron is set to run every minute, which Moodle documents as a requirement rather than a recommendation. Size against peak concurrency — the moment a quiz opens — rather than against average traffic.

It is your server. Moodle is installed directly on your VPS or VDS, not inside a container we manage. You get root over SSH, you can install anything alongside it, change its configuration, or remove it entirely. We do not hold a key to it.

What people run it for

Schools and colleges

Course delivery with spiky, timetable-driven load.

Corporate training

Compliance courses with completion tracking and reporting.

Certification programmes

Quizzes and grading at scale, including timed assessments.

Leaving a hosted LMS

Per-student pricing replaced by a server cost.

Moodle hosting questions

A VPS running Moodle with the cron, caching and PHP limits it needs, and root access to all of it.

Deploy Moodle on your own server

Root access, your choice of size, and no container between you and the application.