diff --git a/.env b/.env index 182948a..f179b16 100644 --- a/.env +++ b/.env @@ -1 +1,4 @@ COMPOSE_PROJECT_NAME=m2_meanbee_webappmanifest + +PROJECT_HOSTNAME=m2-meanbee-webappmanifest.dev.docker +PROJECT_CERT=dev.docker diff --git a/README.md b/README.md index 52ce6ac..fb2b8e5 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,5 @@ Configure the information displayed in the manifest and enable it in * Stores > A Docker development environment is included with the project: - mkdir magento - docker-compose up -d db # Allow a few seconds for the db to initalise - docker-compose run --rm cli bash /src/setup.sh - docker-compose up -d + docker-compose run --rm cli magento-extension-installer Meanbee_WebAppManifest \ + && docker-compose up -d diff --git a/composer.json b/composer.json index fda2f73..ada76bb 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "meanbee/magento2-webappmanifest", "description": "A Magento 2 extension that adds a Web App Manifest to the store.", "type": "magento2-module", - "version": "1.0.0", + "version": "1.1.0", "license": [ "MIT" ], @@ -19,9 +19,9 @@ } }, "require": { - "magento/framework": "^100.1.2", + "magento/framework": "^101.0.0", "magento/module-backend": "^100.1.2", - "magento/module-config": "^100.1.2", + "magento/module-config": "^101.0.0", "magento/module-store": "^100.1.3" }, "autoload": { diff --git a/docker-compose.yml b/docker-compose.yml index 0b770d2..7e3a16f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,82 +2,72 @@ version: "2" services: varnish: image: meanbee/magento2-varnish:latest - hostname: m2-meanbee-webappmanifest.docker + hostname: ${PROJECT_HOSTNAME} ports: - 80 environment: - - VIRTUAL_HOST=m2-meanbee-webappmanifest.docker - - VIRTUAL_PORT=80 - - HTTPS_METHOD=noredirect - - CERT_NAME=default + VIRTUAL_HOST: ${PROJECT_HOSTNAME} + VIRTUAL_PORT: 80 + HTTPS_METHOD: noredirect + CERT_NAME: ${PROJECT_CERT} links: - web web: image: meanbee/magento2-nginx:1.9 - hostname: web.m2-meanbee-webappmanifest.docker + hostname: web.${PROJECT_HOSTNAME} ports: - 80 volumes_from: - - appdata - env_file: - - ./magento.env + - magento links: - fpm fpm: image: meanbee/magento2-php:7.0-fpm - hostname: fpm.m2-meanbee-webappmanifest.docker + hostname: fpm.${PROJECT_HOSTNAME} ports: - 9000 volumes_from: - - appdata - env_file: - - ./magento.env + - magento environment: - - ENABLE_SENDMAIL=true - - PHP_ENABLE_XDEBUG + ENABLE_SENDMAIL: "true" + PHP_ENABLE_XDEBUG: links: - db cron: image: meanbee/magento2-php:7.0-cli - hostname: cron.m2-meanbee-webappmanifest.docker + hostname: cron.${PROJECT_HOSTNAME} command: run-cron volumes_from: - - appdata - env_file: - - ./magento.env + - magento environment: - - ENABLE_SENDMAIL=true + ENABLE_SENDMAIL: "true" links: - db cli: image: meanbee/magento2-php:7.0-cli volumes_from: - - appdata - volumes: - - ~/.composer:/root/.composer - env_file: - - ./magento.env + - magento environment: - - COMPOSER_HOME=/root/.composer - - COMPOSER_ALLOW_SUPERUSER=1 - - M2SETUP_INSTALL_DB=true - - M2SETUP_VERSION=2.1.* - - M2SETUP_USE_SAMPLE_DATA=true - - M2SETUP_DB_HOST=db - - M2SETUP_DB_NAME=magento2 - - M2SETUP_DB_USER=magento2 - - M2SETUP_DB_PASSWORD=magento2 - - M2SETUP_BASE_URL=https://m2-meanbee-webappmanifest.docker/ - - M2SETUP_BACKEND_FRONTNAME=admin - - M2SETUP_ADMIN_FIRSTNAME=Admin - - M2SETUP_ADMIN_LASTNAME=User - - M2SETUP_ADMIN_EMAIL=admin@example.com - - M2SETUP_ADMIN_USER=admin - - M2SETUP_ADMIN_PASSWORD=password123 + COMPOSER_HOME: /root/.composer + COMPOSER_ALLOW_SUPERUSER: 1 + M2SETUP_INSTALL_DB: "true" + M2SETUP_VERSION: 2.2.* + M2SETUP_USE_SAMPLE_DATA: "true" + M2SETUP_DB_HOST: db + M2SETUP_DB_NAME: magento2 + M2SETUP_DB_USER: magento2 + M2SETUP_DB_PASSWORD: magento2 + M2SETUP_BASE_URL: https://${PROJECT_HOSTNAME}/ + M2SETUP_BACKEND_FRONTNAME: admin + M2SETUP_ADMIN_FIRSTNAME: Admin + M2SETUP_ADMIN_LASTNAME: User + M2SETUP_ADMIN_EMAIL: admin@example.com + M2SETUP_ADMIN_USER: admin + M2SETUP_ADMIN_PASSWORD: password123 links: - db @@ -85,31 +75,24 @@ services: image: mariadb:10 ports: - 3306 - volumes_from: - - dbdata - env_file: - - ./magento.env + volumes: + - dbdata:/var/lib/mysql environment: - - MYSQL_ROOT_PASSWORD=magento2 - - MYSQL_USER=magento2 - - MYSQL_PASSWORD=magento2 - - MYSQL_DATABASE=magento2 - - TERM=dumb + MYSQL_ROOT_PASSWORD: magento2 + MYSQL_USER: magento2 + MYSQL_PASSWORD: magento2 + MYSQL_DATABASE: magento2 + TERM: dumb - appdata: - image: cweagans/bg-sync + magento: + image: meanbee/magento2-data:2.2-sample volumes: - - /var/www/magento - - .:/src + - .:/extensions/Meanbee_WebAppManifest environment: - - SYNC_SOURCE=/var/www/magento - - SYNC_DESTINATION=/src/magento - - SYNC_VERBOSE=1 - - SYNC_MAX_INOTIFY_WATCHES=64000 + SYNC_DESTINATION: /extensions/Meanbee_WebAppManifest/magento privileged: true - restart: always +volumes: dbdata: - image: tianon/true - volumes: - - /var/lib/mysql + # Database tables + diff --git a/magento.env b/magento.env deleted file mode 100644 index dfba487..0000000 --- a/magento.env +++ /dev/null @@ -1,2 +0,0 @@ -MAGENTO_RUN_MODE=developer -PHP_MEMORY_LIMIT=2G diff --git a/setup.sh b/setup.sh deleted file mode 100644 index 516e1aa..0000000 --- a/setup.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -e # Exit on error - -# Install Magento 2 if necessary -magento-installer - -cd $MAGENTO_ROOT - -# Add the extension via Composer -composer config repositories.meanbee_webappmanifest '{"type": "path", "url": "/src", "options": {"symlink": true}}' - -composer require "meanbee/magento2-webappmanifest" "@dev" - -# Workaround for Magento only allowing template paths within the install root -ln -s /src $MAGENTO_ROOT/src - -# Enable the extension and run migrations -magento-command module:enable Meanbee_WebAppManifest -magento-command setup:upgrade -magento-command setup:static-content:deploy -magento-command cache:flush