Skip to content

Application build via Docker (Docker Desktop v29.2.1)#2077

Closed
ali-ichk wants to merge 4 commits intoGibbonEdu:v31.0.00from
ali-ichk:dockerv31.0.00
Closed

Application build via Docker (Docker Desktop v29.2.1)#2077
ali-ichk wants to merge 4 commits intoGibbonEdu:v31.0.00from
ali-ichk:dockerv31.0.00

Conversation

@ali-ichk
Copy link
Copy Markdown
Contributor

@ali-ichk ali-ichk commented Mar 17, 2026

Description
This PR reviews and adds some changes to the the Dockerfile introduced by Zaidmasri in #2037, resolving some issues that prevented Gibbon from running correctly in a Docker environment.

Motivation and Context
Currently, setting up a local Gibbon development environment requires manually configuring PHP, Apache, and MySQL, which can be error-prone and inconsistent across operating systems (macOS, Windows, Linux).

This change solves the following problems:

Simplifies Onboarding: New contributors can spin up a fully working instance with a single command.
Dependency Management: Ensures all contributors use the exact same PHP version (8.2) and extensions (bcmath, intl, gd, etc.) required by Gibbon v31+.
Isolation: Keeps the database and application files isolated from the host machine, preventing system clutter.

How Has This Been Tested?
Tested locally on macOS (Apple Silicon) using Docker Desktop 29.2.1 with the following steps:

Built the image: docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d --build
Verified all required PHP extensions are present: docker exec gibbon_app php -m
Verified all PHP ini values meet Gibbon's requirements via php -r "echo ini_get(...)"
Verified AllowOverride All is active: docker exec gibbon_app grep AllowOverride /etc/apache2/apache2.conf
Verified Apache config syntax: docker exec gibbon_app apachectl configtest → Syntax OK
Verified Composer dependencies are satisfied: docker exec gibbon_app composer check-platform-reqs
Verified sensitive files ([.htaccess], [composer.json], [phpstan.neon], [gibbon.sql]) return 403
Confirmed Gibbon web installer loads at http://localhost:8888 with all system requirement checks passing
Confirmed database connection succeeds from the installer using the Docker Compose credentials

@ali-ichk ali-ichk closed this Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants