Magento Open Source
Feature-rich e-commerce platform by Adobe.
Overview
Magento Open Source is Adobe's flagship e-commerce platform that powers thousands of online stores worldwide. Originally developed by Varien in 2008 and later acquired by Adobe, Magento provides a comprehensive solution for building scalable online retail experiences with advanced catalog management, flexible pricing rules, and extensive customization capabilities. The platform is renowned for its modular architecture, multi-store management, and robust API ecosystem that enables complex B2B and B2C commerce scenarios.
This deployment orchestrates three essential services: the Bitnami Magento container serving the complete e-commerce application, MySQL 8.0 providing transactional data storage for products, orders, and customer information, and Elasticsearch 7.17 powering the advanced catalog search and filtering capabilities. The Bitnami image includes an optimized Magento installation with Apache, PHP, and all necessary dependencies pre-configured, while Elasticsearch integration enables layered navigation, advanced search suggestions, and performance-optimized product discovery.
This stack is ideal for developers and businesses seeking a production-grade e-commerce solution without the complexity of manual Magento installation and configuration. The combination provides enterprise-level search capabilities through Elasticsearch integration, reliable data persistence with MySQL, and the flexibility to customize every aspect of the shopping experience through Magento's extensive theming and module system.
Key Features
- Complete Magento Open Source installation with Bitnami optimization and security hardening
- Advanced catalog search powered by Elasticsearch with layered navigation and faceted filtering
- MySQL 8.0 with InnoDB storage engine for ACID-compliant transaction processing
- Multi-store and multi-website management from single Magento instance
- Extensive product catalog management with configurable and grouped product types
- Built-in payment gateway integrations and flexible shipping rule configuration
- Advanced customer segmentation and promotional rule engine
- REST and GraphQL APIs for headless commerce implementations
Common Use Cases
- 1Mid-market retailers launching comprehensive online stores with advanced product catalogs
- 2B2B wholesalers requiring complex pricing tiers and customer group management
- 3Multi-brand businesses managing several storefronts from unified backend
- 4Fashion and electronics retailers needing sophisticated product configurators
- 5Marketplace operators building vendor management and commission systems
- 6International merchants requiring multi-currency and multi-language support
- 7Developers prototyping custom e-commerce extensions and payment integrations
Prerequisites
- Minimum 4GB RAM and 2 CPU cores for acceptable Magento performance
- At least 10GB available disk space for Magento files, media, and database growth
- Basic understanding of e-commerce concepts and Magento admin interface
- Ports 8080 and 8443 available for HTTP and HTTPS access
- Environment variables configured for database credentials and Magento host settings
- Patience for initial container startup as Magento installation takes 5-10 minutes
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 magento: 3 image: bitnami/magento:latest4 container_name: magento5 restart: unless-stopped6 environment: 7 MAGENTO_HOST: localhost8 MAGENTO_DATABASE_HOST: mysql9 MAGENTO_DATABASE_NAME: ${DB_NAME}10 MAGENTO_DATABASE_USER: ${DB_USER}11 MAGENTO_DATABASE_PASSWORD: ${DB_PASSWORD}12 ELASTICSEARCH_HOST: elasticsearch13 volumes: 14 - magento_data:/bitnami/magento15 ports: 16 - "8080:8080"17 - "8443:8443"18 depends_on: 19 - mysql20 - elasticsearch21 networks: 22 - magento2324 mysql: 25 image: mysql:8.026 container_name: magento-mysql27 environment: 28 MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}29 MYSQL_DATABASE: ${DB_NAME}30 MYSQL_USER: ${DB_USER}31 MYSQL_PASSWORD: ${DB_PASSWORD}32 volumes: 33 - mysql_data:/var/lib/mysql34 networks: 35 - magento3637 elasticsearch: 38 image: docker.elastic.co/elasticsearch/elasticsearch:7.17.039 container_name: magento-es40 environment: 41 - discovery.type=single-node42 - "ES_JAVA_OPTS=-Xms512m -Xmx512m"43 volumes: 44 - es_data:/usr/share/elasticsearch/data45 networks: 46 - magento4748volumes: 49 magento_data: 50 mysql_data: 51 es_data: 5253networks: 54 magento: 55 driver: bridge.env Template
.env
1DB_ROOT_PASSWORD=rootpassword2DB_NAME=magento3DB_USER=magento4DB_PASSWORD=changemeUsage Notes
- 1Docs: https://devdocs.magento.com/
- 2Access at http://localhost:8080 - initial setup takes 5-10 minutes
- 3Resource intensive: needs 4GB+ RAM, 2 CPU cores minimum
- 4Admin URL and credentials shown in container logs after setup
- 5Elasticsearch required for catalog search functionality
- 6Bitnami provides default admin: user@example.com / bitnami1
Individual Services(3 services)
Copy individual services to mix and match with your existing compose files.
magento
magento:
image: bitnami/magento:latest
container_name: magento
restart: unless-stopped
environment:
MAGENTO_HOST: localhost
MAGENTO_DATABASE_HOST: mysql
MAGENTO_DATABASE_NAME: ${DB_NAME}
MAGENTO_DATABASE_USER: ${DB_USER}
MAGENTO_DATABASE_PASSWORD: ${DB_PASSWORD}
ELASTICSEARCH_HOST: elasticsearch
volumes:
- magento_data:/bitnami/magento
ports:
- "8080:8080"
- "8443:8443"
depends_on:
- mysql
- elasticsearch
networks:
- magento
mysql
mysql:
image: mysql:8.0
container_name: magento-mysql
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASSWORD}
volumes:
- mysql_data:/var/lib/mysql
networks:
- magento
elasticsearch
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0
container_name: magento-es
environment:
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms512m -Xmx512m
volumes:
- es_data:/usr/share/elasticsearch/data
networks:
- magento
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 magento:5 image: bitnami/magento:latest6 container_name: magento7 restart: unless-stopped8 environment:9 MAGENTO_HOST: localhost10 MAGENTO_DATABASE_HOST: mysql11 MAGENTO_DATABASE_NAME: ${DB_NAME}12 MAGENTO_DATABASE_USER: ${DB_USER}13 MAGENTO_DATABASE_PASSWORD: ${DB_PASSWORD}14 ELASTICSEARCH_HOST: elasticsearch15 volumes:16 - magento_data:/bitnami/magento17 ports:18 - "8080:8080"19 - "8443:8443"20 depends_on:21 - mysql22 - elasticsearch23 networks:24 - magento2526 mysql:27 image: mysql:8.028 container_name: magento-mysql29 environment:30 MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}31 MYSQL_DATABASE: ${DB_NAME}32 MYSQL_USER: ${DB_USER}33 MYSQL_PASSWORD: ${DB_PASSWORD}34 volumes:35 - mysql_data:/var/lib/mysql36 networks:37 - magento3839 elasticsearch:40 image: docker.elastic.co/elasticsearch/elasticsearch:7.17.041 container_name: magento-es42 environment:43 - discovery.type=single-node44 - "ES_JAVA_OPTS=-Xms512m -Xmx512m"45 volumes:46 - es_data:/usr/share/elasticsearch/data47 networks:48 - magento4950volumes:51 magento_data:52 mysql_data:53 es_data:5455networks:56 magento:57 driver: bridge58EOF5960# 2. Create the .env file61cat > .env << 'EOF'62DB_ROOT_PASSWORD=rootpassword63DB_NAME=magento64DB_USER=magento65DB_PASSWORD=changeme66EOF6768# 3. Start the services69docker compose up -d7071# 4. View logs72docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/magento/run | bashTroubleshooting
- Magento container shows 'Installation in progress' for extended time: Check container logs with 'docker logs magento' and ensure sufficient RAM allocation
- Elasticsearch connection errors in Magento admin: Verify elasticsearch container is running and increase ES_JAVA_OPTS memory if needed
- MySQL connection refused errors: Confirm database environment variables match between magento and mysql services
- Catalog search not working after product import: Reindex Elasticsearch from Magento admin System > Index Management
- Admin login credentials unknown after setup: Check magento container logs for auto-generated admin URL and password
- Performance issues during category browsing: Increase Elasticsearch memory allocation beyond default 512MB for large catalogs
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Components
magentomysqlelasticsearchredis
Tags
#magento#ecommerce#adobe#enterprise
Category
E-Commerce & BusinessAd Space
Shortcuts: C CopyF FavoriteD Download