Application hosting

Hosting Moodle

Moodle is a learning management system with release-specific PHP and database prerequisites. Course files, active users, scheduled jobs, and assessment traffic determine capacity beyond those software requirements.

Min vCPU
Depends on workload
Min memory
Depends on workload
Min storage
Depends on workload

Must have

Hard prerequisites

  • 64-bit PHP 8.3 or 8.4, with Sodium enabled
  • A database supported by Moodle 5.2
  • PHP max_input_vars set to at least 5000

Recommended

Documented guidance

No further general recommendations are published for this version.

Capacity depends on your workload

Moodle publishes runtime and database requirements, but not one server size for all sites. Capacity changes with concurrent use, course content, uploaded files, plugins, database load, and scheduled tasks.

We only compare what providers publish. A RAM figure alone can't confirm compatibility or production capacity.

Deploy with

Supported paths

  • Self-managed PHP application behind Apache or Nginx
  • Moodle-hosted or certified-partner services, with separate operating and support models

The host must provide

Runtime

PHP
8.3 minimum for Moodle 5.2; 8.4 is also supported
PHP architecture
64-bit PHP only
PHP extension
Sodium is required; max_input_vars must be 5000 or higher
Database
PostgreSQL 16+, MySQL 8.4+, MariaDB 10.11+, Aurora MySQL 8.0+, or SQL Server 2019+
Web server
Apache or Nginx; configure the Moodle 5.2 public directory as the web root

Storage

Persistent data

Moodle stores course uploads and other files in its moodledata directory. Keep this directory outside the public web root, use persistent storage, and size it for uploaded content, temporary files, backups, and retention; there is no universal storage total.

Step by step

Moodle 5.2 deployment outline

  1. Select the release and supported stack

    Check the Moodle 5.2 release page, install 64-bit PHP 8.3 or 8.4 with Sodium, and select one of the documented database versions.

    Official instructions
  2. Set the public document root and private data path

    For Moodle 5.1 and later, configure the web server to serve the public directory. Store moodledata outside the public web root and make it writable only by the application service.

    Official instructions
  3. Schedule Moodle cron

    Configure the command-line cron script to run regularly; Moodle recommends every minute and warns that scheduled tasks are required for normal operation.

    Official instructions
  4. Check the environment and recovery path

    Run Moodle’s environment checks for the selected release, configure HTTPS, and test restoring the database and moodledata together before real courses depend on the site.

    Official instructions

Security

Before you go public

  • Keep moodledata outside the public document root.
  • Use a dedicated database account and restrict database permissions to the Moodle database.
  • Patch the operating system, PHP, database, Moodle core, and plugins; use HTTPS and test backups.

Cost

Beyond the server price

  • Budget for compute, database storage, course files, backups, email delivery, and any separate managed support.
  • Capacity and cost depend on concurrent learners, course activities, file retention, and reporting jobs; no fixed server size is implied.

Matching plans

Plans with published evidence

Vultr

Vultr Cloud Compute · 2 vCPU / 2 GB

2vCPU
2 GBRAM
65 GBStorage
3 TBTransfer
  • Shared vCPU (previous-generati...
  • SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr Cloud Compute · 2 vCPU / 4 GB

2vCPU
4 GBRAM
80 GBStorage
3 TBTransfer
  • Shared vCPU (previous-generati...
  • SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr Cloud Compute · 4 vCPU / 8 GB

4vCPU
8 GBRAM
160 GBStorage
4 TBTransfer
  • Shared vCPU (previous-generati...
  • SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr Cloud Compute · 6 vCPU / 16 GB

6vCPU
16 GBRAM
320 GBStorage
5 TBTransfer
  • Shared vCPU (previous-generati...
  • SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr Cloud Compute · 8 vCPU / 32 GB

8vCPU
32 GBRAM
640 GBStorage
6 TBTransfer
  • Shared vCPU (previous-generati...
  • SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr High Frequency · 1 vCPU / 1 GB

1vCPU
1 GBRAM
32 GBStorage
1 TBTransfer
  • Shared vCPU (3 GHz+ Intel Xeon...
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr High Frequency · 1 vCPU / 2 GB (NVMe)

1vCPU
2 GBRAM
64 GBStorage
2 TBTransfer
  • High Frequency (3.0GHz+)
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr High Frequency · 12 vCPU / 48 GB

12vCPU
48 GBRAM
768 GBStorage
8 TBTransfer
  • Shared vCPU (3 GHz+ Intel Xeon...
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr High Frequency · 16 vCPU / 58 GB

16vCPU
58 GBRAM
1,024 GBStorage
9 TBTransfer
  • Shared vCPU (3 GHz+ Intel Xeon...
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr High Frequency · 2 vCPU / 2 GB

2vCPU
2 GBRAM
80 GBStorage
3 TBTransfer
  • Shared vCPU (3 GHz+ Intel Xeon...
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr High Frequency · 2 vCPU / 4 GB

2vCPU
4 GBRAM
128 GBStorage
3 TBTransfer
  • Shared vCPU (3 GHz+ Intel Xeon...
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.
Vultr

Vultr High Frequency · 3 vCPU / 8 GB

3vCPU
8 GBRAM
256 GBStorage
4 TBTransfer
  • Shared vCPU (3 GHz+ Intel Xeon...
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • 64-bit PHP 8.3 or 8.4, with Sodium enabledThe plan does not publish this runtime or configuration detail.
  • A database supported by Moodle 5.2The plan does not publish enough database or runtime details to confirm a supported option.
  • PHP max_input_vars set to at least 5000The plan does not publish this runtime or configuration detail.

Want the full monthly bill? Use the hosting cost calculator. It keeps unknown charges visible.