Thanks for taking the time to look at this project. Contributions are welcome — bug reports, fixes, new Magento versions in the compatibility matrix, additional optional services, or documentation tweaks.
Before opening an issue, please check the existing ones first. When you do open one, the more of the following you can include, the easier it is to help:
- your host OS (
uname -srm) - Docker / Compose version (
docker versionanddocker compose version) - the contents of your
.env(with passwords redacted) - exact
makecommand you ran and the full error output
- Fork the repo and create a topic branch off
main. - Keep changes focused — one logical change per PR is much easier to review than a sprawling refactor.
- Test the change on at least one of Linux or macOS. If you can test both, even better — the OS-detection logic is the most accident-prone part of the codebase.
- Update
CHANGELOG.mdunder an## [Unreleased]heading at the top. - Open the PR with a description of what changed and why.
Edit the MAGENTO_VERSIONS (or MAGEOS_VERSIONS) associative array at the top of dockerimages/bin/init.sh. The format is:
[2.4.9]="php=8.3 8.4|recommended=8.3|mariadb=10.6 11.4|mysql=8.0 8.4|opensearch=2.19-1.4.0|composer=2"
Cross-check php, mariadb, mysql and opensearch against the Adobe system-requirements page for that exact patch release before submitting.
- Bash scripts:
set -euo pipefail, comments where intent isn't obvious, prefer arrays over space-separated strings. - Makefile: each target gets a
## descriptionso it shows up inmake help. - YAML / Dockerfiles: 4-space indent, blank line between blocks.
That's it — keep it pragmatic.