Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dockerized Magento 2.4.8 (Mage-OS)

One-command local Magento Open Source store using the Mage-OS Composer mirror (no Adobe Marketplace keys), with MariaDB, OpenSearch, Redis, RabbitMQ, and Mailpit.

Uses Mage-OS 2.3.0 (based on Magento Open Source 2.4.8). Mage-OS uses its own semver (2.3.0), not Adobe’s 2.4.8 tag.

Requirements

  • Docker Desktop (or Docker Engine + Compose v2)
  • ≥ 8 GB RAM allocated to Docker (OpenSearch + MariaDB + PHP)
  • Free ports: 8080, 3306, 9200, 6379, 5672, 15672, 1025, 8025 (configurable in .env)

First make setup typically takes 15–30 minutes (image build, Composer download, sample data, reindex).

Quickstart

cp .env.example .env   # already present if you cloned this scaffold
make setup

Then open:

Service URL Credentials
Storefront http://localhost:8080/
Admin http://localhost:8080/admin admin / Admin123!
Mailpit http://localhost:8025
RabbitMQ http://localhost:15672 guest / guest

Sample data includes the Luma catalog, categories, customers, CMS pages, and promotions.

Everyday commands

make up          # start all services
make down        # stop (keep volumes)
make cli         # bash in the PHP container
make magento c:f # any bin/magento command
make reindex
make flush
make logs
make prod        # production mode + compile + static deploy
make destroy            # stop and delete Docker volumes (keeps src/)
make seed-multiwebsite  # add EU/US websites + multi-site demo products
make seed-sim           # add SIM Point + SK-SIM (JPY) + SIM card products

Wrappers (same as Makefile targets):

./bin/magento cache:flush
./bin/composer require vendor/package

SIM Point / SK-SIM seed

make seed-sim

Creates (idempotent):

Website Store view Currency Locale
sim_point (SIM Point) sim_point JPY ja_JP
sk_sim (SK-SIM) sk_sim JPY ja_JP

Demo SIM SKUs (shared stock; different Japanese names/prices per store):

SKU SIM Point SK-SIM
SIM-DATA-3GB ¥1,980 ¥2,200
SIM-DATA-10GB ¥3,480 ¥3,980
SIM-UNLIMITED-30D ¥4,980 ¥5,480
SIM-ESIM-5GB ¥2,480 ¥2,680
SIM-POINT-STARTER exclusive
SK-SIM-BUSINESS exclusive

URLs:

Script: seed/sim.php.

Multi-website seed

After make setup, seed extra websites and demo products:

make seed-multiwebsite

Creates (idempotent):

Website Store views Purpose
base (existing) default Original Luma store
eu eu_en, eu_de EU English / Deutsch
us us_en US English

Demo SKUs:

SKU Websites Notes
GLOBAL-YOGA-MAT base, eu, us Shared product
EU-ONLY-TEE eu EU exclusive
US-ONLY-HOODIE us US exclusive
REGIONAL-TEE base, eu, us Different name/price on eu_en / us_en

Store codes are enabled in URLs:

Catalog Price Scope is set to Website (catalog/price/scope=1), so one SKU can have a different price per website while sharing the same stock. Name overrides are per store view.

Script: seed/multiwebsite.php. Reference CSV: seed/fixtures/products_multi_website.csv.

Architecture

Container Role
nginx HTTP front door (:8080 → Magento)
php PHP 8.3-FPM + Composer + Magento CLI
cron Runs bin/magento cron:run every minute
db MariaDB 11.4
opensearch OpenSearch 2.19 (catalog search)
redis Cache, FPC, sessions
rabbitmq Message queue (+ management UI)
mailpit Catches all store email (SMTP + UI)

Application code lives in ./src (bind-mounted to /var/www/html).

Configuration

Copy .env.example.env and adjust ports, DB credentials, admin user, and BASE_URL as needed. Re-run make setup after a clean destroy, or use Magento CLI for config changes on an existing install.

Troubleshooting

OpenSearch won't start / OOM
Raise Docker memory to ≥ 8 GB. Heap is capped at 512m via OPENSEARCH_JAVA_OPTS.

Port already in use
Change the matching *_PORT in .env and restart with make down && make up.

Admin login asks for 2FA
Setup disables Magento_TwoFactorAuth. Re-disable if needed:

./bin/magento module:disable Magento_TwoFactorAuth
make flush

Permissions / Composer errors
CLI runs as www-data (UID 1000). If host files are root-owned:
docker compose exec -u root php chown -R www-data:www-data /var/www/html

Re-run install from scratch

make destroy
rm -rf src
mkdir src
make setup

Production mode

Developer mode is the default. For a production-like build:

make prod

That sets production mode, runs setup:di:compile, deploys static content, and flushes cache. Switch back with:

./bin/magento deploy:mode:set developer

About

Dockerized Mage-OS Magento with multi-website and SIM Point/SK-SIM seeders

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages