This repository provides a complete Docker Compose configuration to run an OroCommerce instance locally or in a staging environment.
It includes all required services and is fully compatible with Apple Silicon (ARM64).
All configuration is managed through a single .env
file.
web
: Nginx frontend for OroCommercephp-fpm-app
: PHP application (with healthcheck)ws
: WebSocket serverconsumer
: Message queue consumercron
: Scheduled job runnerapplication
: Main entrypoint that ensures dependencies are runninginstall
: One-time OroCommerce installerrestore
: Optional restore serviceinit
: Prepares runtime configs (Nginx, PHP-FPM, etc.)db
: PostgreSQL with healthcheckmail
: Mailpit (SMTP + web UI for email testing)
git clone https://github.com/sebastianromero/orocommerce-docker.git
cd orocommerce-docker
Edit the .env
file and adjust the values to match your setup:
ORO_IMAGE
/ORO_IMAGE_TAG
: OroCommerce image and version- Admin user credentials
- Mail configuration
- Database credentials
- App domain and protocol
ORO_SAMPLE_DATA=y
: Enables demo sample data by default. Set ton
to install without demo data.
For more information about installation parameters, see the official documentation:
InstallerBundle Commands – Oro Documentation
docker compose up -d
The app will be available at:
http://<your-app-domain> # defined in ORO_APP_DOMAIN in .env
Mailpit (for testing emails) is available at:
http://localhost:8025
- Data is persisted using Docker volumes.
- To fully reset the stack:
docker compose down -v
- To reinstall OroCommerce from scratch:
docker compose down -v
docker compose up -d init db
docker compose run --rm install
This setup runs natively on Apple Silicon (M1/M2/M3) using ARM64-compatible images.
This project uses a .env
file to configure all services. Below is a guide to the most important or less obvious variables.
-
ORO_SAMPLE_DATA
Controls whether to load demo data during installation.y
(default): Includes sample products, categories, customer accounts, etc.n
: Installs a clean OroCommerce instance without demo content.
-
ORO_INSTALL_OPTIONS
Extra options passed directly to theoro:install
command. Use this to override or extend default behavior.
Full list of installer options
ORO_APP_PROTOCOL
: Protocol used in URLs (http
orhttps
)ORO_APP_DOMAIN
: Application domain nameORO_FORMATTING_CODE
: Regional formatting (e.g.,en_US
,es_CL
)ORO_LANGUAGE
: Default application language
ORO_DB_DSN
: Internal connection string (auto-generated)ORO_DB_ROOT_USER
/ORO_DB_ROOT_PASSWORD
: Used for restore operations
ORO_MQ_DSN
: Message queue (default:dbal:
)ORO_SESSION_DSN
: Session backend (default:native:
)ORO_SEARCH_ENGINE_DSN
,ORO_WEBSITE_SEARCH_ENGINE_DSN
: Search backend DSNs (default: ORM-based)
More about infrastructure-related config
ORO_WEBSOCKET_BACKEND_HOST
/PORT
: Internal WebSocket host/portORO_WEBSOCKET_BACKEND_DSN
: Backend service DSNORO_WEBSOCKET_SERVER_DSN
: WebSocket server bind addressORO_WEBSOCKET_FRONTEND_DSN
: Frontend WebSocket connection URI
Configurar host como mail y el puerto 1025 sin ninguna autentificacion
MIT License
Copyright (c) 2023 OroInc
Copyright (c) 2025 Sebastián Romero
This project is based on the original OroInc Docker setup.
Modified and maintained by Sebastián Romero under the same MIT License.