Docker 

Prerequisite 

Install Docker with Docker Compose.

Note

The application uses port 80, so make sure that other services do not use it.

Run Application 

  1. Download the repository with a docker-compose.yml configuration file.

    Check out the git repository

    git clone https://github.com/oroinc/docker-demo.git
    cd docker-demo
    

    or download the archive file and extract it

    wget https://github.com/oroinc/docker-demo/archive/master.tar.gz -O - | tar -xzf -
    cd docker-demo
    
  2. Run application containers

    The configuration is entirely predefined; the only thing you can change is the application’s domain. The default is oro.demo. To change it, create a .env file with the content ORO_APP_DOMAIN=my-custom-domain.demo.

    Run init service

    docker compose up restore
    

    Alternatively, you can install the application from scratch. This will require more time and resources.

    Run install service

    docker compose up install
    

    You can run the application as soon as it is installed or initialized:

    docker compose up application
    

    The docker compose will download the required images, create networks and run containers. Application commerce-crm-application is used by default.

    If you want to get the application in a different locale, add the contents of the file .env-locale-de_DE or .env-locale-fr_FR to .env and restart the restore service and application.

    cat .env-locale-de_DE >> .env
    

    To track the logs from the php-fpm-app container, run docker compose logs -f php-fpm-app. To get the list of containers, run docker compose ps.

  3. Add a record to file /etc/hosts

    127.0.0.1 oro.demo
    
  4. Open the application in a browser: http://oro.demo.

    • To access the back-office, use admin as both login and password.

    • To access the storefront, use the credentials of the predefined demo user roles:

      • To log in as a buyer, use BrandaJSanborn@example.org both as your login and password.

      • To log in as a manager, use AmandaRCole@example.org both as your login and password.

Access the Mail Catcher 

Smtp service is additionally launched so you can send emails from the application. It receives all mail and provides a web interface for viewing it and performing the required actions. The mail catcher web interface is available at http://oro.demo/mailcatcher.

Stop the Application 

  • To stop and remove all containers, run docker compose down.

  • To stop and remove all containers with the data saved in volumes, run docker compose down -v.

Troubleshooting 

If you deployed the application before, pull up fresh images with docker-compose pull.

About This Project 

This repository provides a Docker Compose configuration file (compose.yaml) and demonstrates how to run different applications and required services in containers. Oro Inc. provides Community Edition application images on public Docker Hub.

Important

This deployment is NOT intended for a production environment.

One image runs containers in several roles: web server, php-fpm, consumer, WebSocket server, and cron service. A full-fledged application requires all these services running and the PostgreSQL database prepared.

Business Tip

Technologies are at the forefront of digital change in important sectors like manufacturing. Discover the benefits of digital transformation for manufacturing companies.