Magento stack: Nginx, PHP-FPM, MariaDB, Redis, RabbitMQ, OpenSearch + phpMyAdmin, Mailcatcher
1.1K
sqllmpro/magenta)🧱 Magento Full Stack Environment This repository provides a production-grade Docker Compose setup for running Magento 2 with all its supporting services. It allows quick deployment and isolation of all required components — from the web server to the database, search engine, and message queue.
🔁 Simply
docker-compose up -dand you're ready to go!
| Container Name | Docker Image | Purpose |
|---|---|---|
magenta-app | sqllmpro/magenta-app | Nginx web server: Handles HTTP/HTTPS traffic and serves the Magento frontend and admin |
magenta-php | sqllmpro/magenta-php | PHP-FPM container: Executes Magento's PHP code using PHP 8.3 optimized for performance |
magenta-db | sqllmpro/magenta-db | MariaDB 11.4 database: Stores Magento's product catalog, customer data, configs, etc. |
magenta-rabbitmq | sqllmpro/magenta-rabbitmq | RabbitMQ queue broker: Enables asynchronous message processing for Magento (e.g., email, indexers) |
magenta-opensearch | sqllmpro/magenta-opensearch | OpenSearch (Elasticsearch): Powers product and catalog search |
magenta-redis | sqllmpro/magenta-redis | Redis: Used by Magento for caching, sessions, and page speed improvements |
magenta-mailcatcher | sqllmpro/magenta-mailcatcher | Mailcatcher: Captures outgoing Magento emails for development/testing (web UI on port 1080) |
magenta-phpmyadmin | sqllmpro/magenta-phpmyadmin | phpMyAdmin: Web-based DB GUI to manage the MariaDB instance (web UI on port 8080) |
# 1. Clone or download docker-compose.yml
curl -O https://github.com/haimnewclass/Docker/blob/master/Magento/docker-compose.yml
# 2. Run the full stack in background
docker-compose up -d
# 3. Access services:
# - Magento frontend: http://localhost
# - phpMyAdmin: http://localhost:8080
# - MailCatcher: http://localhost:1080
✅ All services are wired via Docker networks for internal communication
✅ Ports are exposed for local access — change them in docker-compose.yml if needed
Here is the full example of the docker-compose.yml again, suitable to publish:
version: '3.9'
services:
app:
image: sqllmpro/magenta-app:latest
ports:
- "80:8000"
- "443:8443"
depends_on:
- php
- db
networks:
- magento-net
php:
image: sqllmpro/magenta-php:latest
networks:
- magento-net
phpmyadmin:
image: sqllmpro/magenta-phpmyadmin:latest
ports:
- "8080:80"
networks:
- magento-net
rabbitmq:
image: sqllmpro/magenta-rabbitmq:latest
ports:
- "5672:5672"
- "15672:15672"
networks:
- magento-net
db:
image: sqllmpro/magenta-db:latest
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: magento
networks:
- magento-net
mailcatcher:
image: sqllmpro/magenta-mailcatcher:latest
ports:
- "1080:1080"
networks:
- magento-net
opensearch:
image: sqllmpro/magenta-opensearch:latest
ports:
- "9200:9200"
- "9300:9300"
networks:
- magento-net
redis:
image: sqllmpro/magenta-redis:latest
ports:
- "6379:6379"
networks:
- magento-net
networks:
magento-net:
driver: bridge
Each image (e.g., magenta-app, magenta-db) should have:
latest, or versioned (1.0, v1.0.1, etc.)Let me know if you'd like a Markdown copy for your README.md or Docker Hub description directly formatted!
Content type
Image
Digest
sha256:fb9fa2973…
Size
21.4 MB
Last updated
12 months ago
docker pull sqllmpro/magenta-app