Moodle 4.1 – Custom PHP 8.0 + Apache Image
135
Moodle 4.1 – Custom PHP 8.0 + Apache Image
A fully customized Docker image optimized for running Moodle 4.1 using PHP 8.0 and Apache. This image includes all required PHP extensions, Apache configuration, and development-friendly settings suitable for plugin development, local environments, and testing.
Features This image is based on: FROM php:8.0-apache Includes all required PHP extensions for Moodle: intl mysqli, pdo, pdo_mysql gd (with JPEG + FreeType support) xml, soap curl mbstring zip exif opcache
Additional libraries installed: libicu-dev libxml2-dev libzip-dev libpng-dev libjpeg-dev libfreetype6-dev libonig-dev libcurl4-openssl-dev libxslt1-dev
Apache configuration: mod_rewrite enabled Custom PHP configuration (moodle-dev.ini): display_errors = On display_startup_errors = On error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT memory_limit = 256M upload_max_filesize = 50M post_max_size = 50M max_execution_time = 300 max_input_vars = 5000
These settings ensure that Moodle runs smoothly and that plugin development is not blocked by PHP limits.
Working Directory The default working directory for Moodle files: /var/www/html You are expected to mount Moodle’s codebase here via volumes.
Example docker-compose.yml services: moodle: image: leonmsaia/moodle-lab:latest container_name: moodle-app restart: unless-stopped ports: - "8080:80" volumes: - ./moodle:/var/www/html - ./moodledata:/var/www/moodledata depends_on: - db
db: image: mariadb:10.6 container_name: moodle-db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: rootpassword MYSQL_DATABASE: moodle MYSQL_USER: moodle MYSQL_PASSWORD: moodlepassword volumes: - ./db:/var/lib/mysql
Usage This image is ideal for: Moodle plugin development Local LMS experimentation
Running Moodle 4.1 without Bitnami or official MoodleHQ images Classroom environments and lab exercises Rapid setup on Docker-based environments
Notes A separate volume for moodledata is required in all Moodle setups. For production environments, additional hardening and HTTPS termination are recommended. This image focuses on compatibility and flexibility, especially for development workflows.
Tags latest – Always points to the latest stable build.
Content type
Image
Digest
sha256:f7f7545aa…
Size
207.8 MB
Last updated
11 months ago
docker pull leonmsaia/moodle-lab