System Requirements
ipMoodle is designed to run on Linux systems with Docker support. While it may work on other platforms, Linux is recommended for production deployments.
Hardware Requirements
Minimum Requirements
- CPU: 2 cores
- RAM: 4GB (8GB recommended for production)
- Disk Space: 20GB minimum (for application and database storage)
Required Software
Docker
ipMoodle requires Docker to be installed on your system.The deployment uses official Docker images:
- PHP:
php:8.2-fpm-alpine(custom built) - PostgreSQL:
postgres:16-alpine - Nginx:
nginx:alpine
Docker Compose
Docker Compose is used to orchestrate the multi-container setup. Minimum Docker Compose version: 2.0.0 or higher To check your Docker Compose version:Network Requirements
Ports
The following ports must be available on your host system:| Port | Service | Purpose |
|---|---|---|
| 80 | Nginx | HTTP web server |
If you plan to enable HTTPS, port 443 will also need to be available.
Internet Access
During initial deployment, the system needs internet access to:- Download Docker images
- Download Moodle 4.3 (Latest Stable) from official sources
- Install PHP extensions and dependencies
Moodle Download Details
Moodle Download Details
The deployment script automatically downloads Moodle from:This downloads Moodle version 4.3 (latest stable release).
PHP Extensions
The custom Docker image includes the following PHP extensions required by Moodle:System Packages
The Alpine-based image includes these system dependencies:git- Version controlghostscript- PDF processingdcron- Cron job executionpostgresql-dev- PostgreSQL client librarieslibsodium-dev,icu-dev,libpng-dev,libjpeg-turbo-dev,freetype-dev,libzip-dev,libxml2-dev,zlib-dev- Development libraries
User Permissions
The user running the deployment script needs:- Permission to execute
dockercommands - Write access to the installation directory (default:
/opt/moodleip/)
The deployment script creates these directories:
./html- Moodle application files./moodledata- Moodle data directory./db_data- PostgreSQL database files
Environment Variables
You need to set theSITE_URL environment variable before running the deployment:
Pre-Installation Checklist
Before proceeding to installation, verify:Once all prerequisites are met, you can proceed to the Installation guide.