├── .gitignore ├── .travis.yml ├── .travis ├── behat.yml └── docker-compose.yml ├── Dockerfile ├── README.md ├── docker-compose-auto.yml └── docker-compose.yml /.gitignore: -------------------------------------------------------------------------------- 1 | application-git 2 | .idea 3 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | dist: xenial 2 | sudo: required 3 | language: bash 4 | 5 | services: 6 | - docker 7 | 8 | branches: 9 | only: 10 | - master 11 | - dev 12 | 13 | before_install: 14 | - "docker info" 15 | - "docker-compose --version" 16 | 17 | install: 18 | - "docker build -t djocker/orocommerce $TRAVIS_BUILD_DIR" 19 | - "docker-compose -f $TRAVIS_BUILD_DIR/.travis/docker-compose.yml up -d" 20 | - "until docker logs orocommerce_minion 2>&1 | grep 'Application is not installed!'; do sleep 5; done" 21 | - "docker exec orocommerce_minion runuser -s /bin/sh -c 'composer --working-dir=/var/www install --dev' www-data" 22 | - "docker exec orocommerce_minion runuser -s /bin/sh -c 'cp /var/www/app/config/parameters.yml /var/www/app/config/parameters_test.yml' www-data" 23 | - "docker exec orocommerce_minion runuser -s /bin/sh -c '/var/www/app/console oro:install --env='$SYMFONY_ENV' --no-interaction --timeout 3600 --drop-database --user-name=admin --user-firstname=John --user-lastname=Doe --user-password=admin --user-email=johndoe@example.com --organization-name=Acme --application-url=http://minion/' www-data" 24 | - "docker exec orocommerce_minion supervisorctl stop app-cron" 25 | - "docker exec orocommerce_minion supervisorctl stop mq-consumer" 26 | - "docker exec orocommerce_minion runuser -s /bin/sh -c 'sed -ie \\\"s/\\.\\.\\/\\.\\.\\/package\\/platform/\\/var\\/www\\/vendor\\/oro\\/platform/g\\\" /var/www/behat.yml.dist' www-data" 27 | 28 | matrix: 29 | include: 30 | - env: SYMFONY_ENV=prod 31 | script: 32 | - "docker exec orocommerce_minion runuser -s /bin/sh -c 'cd /var/www; /var/www/vendor/behat/behat/bin/behat -v -s OroUserBundle' www-data" 33 | - env: SYMFONY_ENV=test 34 | script: 35 | - "docker exec orocommerce_minion runuser -s /bin/sh -c 'cd /var/www; /var/www/vendor/phpunit/phpunit/phpunit -c /var/www/phpunit.xml.dist --testsuite unit' www-data" 36 | 37 | after_failure: 38 | - docker logs orocommerce_minion 39 | -------------------------------------------------------------------------------- /.travis/behat.yml: -------------------------------------------------------------------------------- 1 | imports: 2 | - behat.yml.dist 3 | 4 | default: &default 5 | extensions: &default_extensions 6 | Behat\MinkExtension: 7 | base_url: 'http://minion/' 8 | default_session: 'first_session' 9 | sessions: 10 | first_session: 11 | oroSelenium2: 12 | wd_host: "http://phantomjs:8910/wd/hub" 13 | -------------------------------------------------------------------------------- /.travis/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | services: 3 | data: 4 | container_name: orocommerce_data 5 | image: djocker/orodata 6 | source_code: 7 | container_name: orocommerce_source 8 | image: djocker/orocommerce 9 | db: 10 | container_name: orocommerce_db 11 | image: mysql:5.5 12 | expose: 13 | - "3306" 14 | environment: 15 | - MYSQL_ROOT_PASSWORD=root 16 | - MYSQL_DATABASE=orocommerce 17 | - MYSQL_USER=orocommerce 18 | - MYSQL_PASSWORD=orocommerce 19 | volumes_from: 20 | - data 21 | networks: 22 | default: 23 | aliases: 24 | - db 25 | mail: 26 | container_name: orocommerce_mail 27 | image: catatnight/postfix 28 | expose: 29 | - "25" 30 | environment: 31 | - maildomain=localhost 32 | - smtp_user=user@localhost:password 33 | networks: 34 | default: 35 | aliases: 36 | - mail 37 | minion: 38 | container_name: orocommerce_minion 39 | image: djocker/oromono 40 | links: 41 | - db 42 | - mail 43 | expose: 44 | - "80" 45 | - "8080" 46 | ports: 47 | - "3080:80" 48 | - "8080:8080" 49 | extra_hosts: 50 | - minion:127.0.0.1 51 | volumes: 52 | - ./behat.yml:/var/www/behat.yml 53 | volumes_from: 54 | - data 55 | - source_code 56 | networks: 57 | default: 58 | aliases: 59 | - minion 60 | environment: 61 | - CMD_INIT_BEFORE= 62 | - CMD_INIT_CLEAN= 63 | - CMD_INIT_INSTALLED= 64 | - CMD_INIT_AFTER= 65 | - APP_DB_DRIVER=pdo_mysql 66 | - APP_DB_HOST=db 67 | - APP_DB_PORT=3306 68 | - APP_DB_USER=orocommerce 69 | - APP_DB_PASSWORD=orocommerce 70 | - APP_DB_NAME=orocommerce 71 | - APP_HOSTNAME=localhost 72 | - APP_MAILER_TRANSPORT=smtp 73 | - APP_MAILER_HOST=mail 74 | - APP_MAILER_PORT=25 75 | - APP_MAILER_ENCRYPTION= 76 | - APP_MAILER_USER=user 77 | - APP_MAILER_PASSWORD=password 78 | - APP_WEBSOCKET_BACKEND_PORT=8080 79 | - APP_WEBSOCKET_FRONTEND_PORT=8080 80 | - APP_SECRET=123456789 81 | - APP_IS_INSTALLED= 82 | phantomjs: 83 | container_name: orocommerce_phantomjs 84 | image: wernight/phantomjs 85 | command: phantomjs --webdriver=8910 86 | expose: 87 | - "8910" 88 | links: 89 | - minion 90 | networks: 91 | default: 92 | aliases: 93 | - phantomjs 94 | volumes_from: 95 | - data 96 | - source_code 97 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM djocker/orobase 2 | USER www-data 3 | 4 | # HTTPS or SSH 5 | # If you want to use ssh don't forget to provide ssh key via build arg directive 6 | ARG GIT_URI="https://github.com/orocommerce/orocommerce-application.git" 7 | 8 | # branch name or tag 9 | # master - for master branch 10 | # tags/1.9.1 - for 1.9.1 tag 11 | ARG GIT_REF="tags/1.0.26" 12 | 13 | RUN install-application.sh 14 | 15 | VOLUME ["/var/www"] 16 | 17 | CMD ["/bin/bash", "-c", "while : ; do sleep 2; done"] 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DEPRECATED! The solution has been replaced by the following tool: https://github.com/digitalspacestdio/homebrew-docker-compose-oroplatform 2 | 3 | # OroCommerce Docker Image 4 | [![GitHub Tag](https://img.shields.io/github/tag/djocker/orocommerce.svg)](https://hub.docker.com/r/djocker/orocommerce/tags/) 5 | [![Layers](https://images.microbadger.com/badges/image/djocker/orocommerce.svg)](https://microbadger.com/images/djocker/orocommerce "Get your own image badge on microbadger.com") 6 | [![Docker Pulls](https://img.shields.io/docker/pulls/djocker/orocommerce.svg)](https://hub.docker.com/r/djocker/orocommerce/) 7 | [![Build Status](https://travis-ci.org/djocker/orocommerce.svg?branch=master)](https://travis-ci.org/djocker/orocommerce) 8 | 9 | The docker image with source code of OroCommerce application. 10 | This image is used as part of docker stack (see compose configs). 11 | 12 | ## Requirements 13 | 14 | 1. [Docker](https://www.docker.com/) 15 | 2. [Docker Compose](http://docs.docker.com/compose) 16 | 17 | ## Usage 18 | 19 | Checkout sources 20 | 21 | ``` 22 | $ git clone https://github.com/djocker/orocommerce.git 23 | ``` 24 | 25 | Going to directory 26 | 27 | ``` 28 | $ cd orocommerce 29 | ``` 30 | 31 | 32 | 33 | ### OroCommerce stack with automated installation 34 | 35 | Run containers in attached mode 36 | 37 | ``` 38 | $ docker-compose -f docker-compose-auto.yml up 39 | ``` 40 | 41 | Run containers in detached mode 42 | 43 | ``` 44 | $ docker-compose -f docker-compose-auto.yml up -d 45 | ``` 46 | 47 | _Navigate to [http://localhost:3080](http://localhost:3080) or [http://localhost:3080/admin](http://localhost/admin:3080) in your web browser (default admin login/password: admin / admin1111)_ 48 | 49 | Stop containers 50 | 51 | ``` 52 | $ docker-compose -f docker-compose-auto.yml stop 53 | ``` 54 | 55 | Remove containers 56 | 57 | ``` 58 | $ docker-compose -f docker-compose-auto.yml down 59 | ``` 60 | 61 | ### OroCommerce stack with web installation 62 | 63 | Run containers in attached mode 64 | 65 | ``` 66 | $ docker-compose -f docker-compose.yml up 67 | ``` 68 | 69 | Run containers in detached mode 70 | 71 | ``` 72 | $ docker-compose -f docker-compose.yml up -d 73 | ``` 74 | 75 | Navigate to [http://localhost:3080](http://localhost:3080) in your web browser, and install application via web wizard 76 | 77 | Stop containers 78 | 79 | ``` 80 | $ docker-compose -f docker-compose.yml stop 81 | ``` 82 | 83 | Remove containers 84 | 85 | ``` 86 | $ docker-compose -f docker-compose.yml down 87 | ``` 88 | -------------------------------------------------------------------------------- /docker-compose-auto.yml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | services: 3 | data: 4 | container_name: orocommerce_data 5 | image: djocker/orodata 6 | source_code: 7 | container_name: orocommerce_source 8 | image: djocker/orocommerce 9 | db: 10 | container_name: orocommerce_db 11 | image: mysql:5.5 12 | expose: 13 | - "3306" 14 | environment: 15 | - MYSQL_ROOT_PASSWORD=root 16 | - MYSQL_DATABASE=orocommerce 17 | - MYSQL_USER=orocommerce 18 | - MYSQL_PASSWORD=orocommerce 19 | volumes_from: 20 | - data 21 | mail: 22 | container_name: orocommerce_mail 23 | image: catatnight/postfix 24 | expose: 25 | - "25" 26 | environment: 27 | - maildomain=localhost 28 | - smtp_user=user@localhost:password 29 | minion: 30 | container_name: orocommerce_minion 31 | image: djocker/oromono 32 | links: 33 | - db 34 | - mail 35 | ports: 36 | - "3080:80" 37 | - "3088:8080" 38 | volumes_from: 39 | - data 40 | - source_code 41 | environment: 42 | - CMD_INIT_BEFORE= 43 | - CMD_INIT_CLEAN=runuser -s /bin/sh -c '/usr/bin/php /var/www/app/console --env=prod oro:install --no-interaction --timeout 3600 --timeout 3600 --drop-database --user-name=admin --user-firstname=John --user-lastname=Doe --user-password=admin1111 --user-email=johndoe@example.com --organization-name=Acme --application-url=http://localhost:3080/' www-data 44 | - CMD_INIT_INSTALLED=runuser -s /bin/sh -c 'for cmd in `echo "fos:js-routing:dump oro:localization:dump oro:assets:install assetic:dump oro:translation:dump oro:requirejs:build"`; do /var/www/app/console --env=prod $$cmd; done' www-data 45 | - CMD_INIT_AFTER= 46 | - APP_DB_DRIVER=pdo_mysql 47 | - APP_DB_HOST=db 48 | - APP_DB_PORT=3306 49 | - APP_DB_USER=orocommerce 50 | - APP_DB_PASSWORD=orocommerce 51 | - APP_DB_NAME=orocommerce 52 | - APP_HOSTNAME=localhost 53 | - APP_MAILER_TRANSPORT=smtp 54 | - APP_MAILER_HOST=mail 55 | - APP_MAILER_PORT=25 56 | - APP_MAILER_ENCRYPTION= 57 | - APP_MAILER_USER=user 58 | - APP_MAILER_PASSWORD=password 59 | - APP_WEBSOCKET_BACKEND_PORT=8080 60 | - APP_WEBSOCKET_FRONTEND_PORT=3088 61 | - APP_SECRET=123456789 62 | - APP_IS_INSTALLED= 63 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | services: 3 | data: 4 | container_name: orocommerce_data 5 | image: djocker/orodata 6 | source_code: 7 | container_name: orocommerce_source 8 | image: djocker/orocommerce 9 | db: 10 | container_name: orocommerce_db 11 | image: mysql:5.5 12 | expose: 13 | - "3306" 14 | environment: 15 | - MYSQL_ROOT_PASSWORD=root 16 | - MYSQL_DATABASE=orocommerce 17 | - MYSQL_USER=orocommerce 18 | - MYSQL_PASSWORD=orocommerce 19 | volumes_from: 20 | - data 21 | mail: 22 | container_name: orocommerce_mail 23 | image: catatnight/postfix 24 | expose: 25 | - "25" 26 | environment: 27 | - maildomain=localhost 28 | - smtp_user=user@localhost:password 29 | minion: 30 | container_name: orocommerce_minion 31 | image: djocker/oromono 32 | links: 33 | - db 34 | - mail 35 | ports: 36 | - "3080:80" 37 | - "3088:8080" 38 | volumes_from: 39 | - data 40 | - source_code 41 | environment: 42 | - CMD_INIT_BEFORE= 43 | - CMD_INIT_CLEAN= 44 | - CMD_INIT_INSTALLED=runuser -s /bin/sh -c 'for cmd in `echo "fos:js-routing:dump oro:localization:dump oro:assets:install assetic:dump oro:translation:dump oro:requirejs:build"`; do /var/www/app/console --env=prod $$cmd; done' www-data 45 | - CMD_INIT_AFTER= 46 | - APP_DB_DRIVER=pdo_mysql 47 | - APP_DB_HOST=db 48 | - APP_DB_PORT=3306 49 | - APP_DB_USER=orocommerce 50 | - APP_DB_PASSWORD=orocommerce 51 | - APP_DB_NAME=orocommerce 52 | - APP_HOSTNAME=localhost 53 | - APP_MAILER_TRANSPORT=smtp 54 | - APP_MAILER_HOST=mail 55 | - APP_MAILER_PORT=25 56 | - APP_MAILER_ENCRYPTION= 57 | - APP_MAILER_USER=user 58 | - APP_MAILER_PASSWORD=password 59 | - APP_WEBSOCKET_BACKEND_PORT=8080 60 | - APP_WEBSOCKET_FRONTEND_PORT=3088 61 | - APP_SECRET=123456789 62 | - APP_IS_INSTALLED= 63 | --------------------------------------------------------------------------------