Magento 2

Magento eCommerce platform, version 2.

The Riptide app comes with Varnish, Redis, RabbitMQ and a mail catcher.

Web server is based on Nginx. The “Apache” variants contain web servers based on Apache.

Uses mageconfigsync for configuration management, if installed. If you want to use mageconfigsync with Riptide create a file app/etc/config.yml with an environment dev.

Link to entity in repository: https://github.com/Parakoopa/riptide-repo/tree/master/app/magento2

/app/magento2/base

Magento 2 base variant, using Nginx.

Imports

Key Title Target Description
media_files Media Files pub/media Media files, such as product images

Services

php

Based on: /service/php/7.2/fpm

PHP-FPM Version 7.2

Roles

Has roles: src, php

Has access to source code (src) and is marked as main PHP service (php).

Config

If you want to change additional Magento settings, we recommend adding additional bin/magento config:set to post_start or using a module for configuration management.

Name Target Should be replaced? Description
env_php app/etc/env.php no Magento 2 env.php, contains all database and redis settings, etc. pp.
Post Start

Waits for bin/magento to work (= redis and db to start up).

Changes settings, such as the base url.

Runs mageconfigsync to load configuration from the dev environment from the file app/etc/config.yml. If mageconfigsync is not installed this step silently fails.

Clears cache.

www

Based on: /service/nginx/latest

Nginx, linked with the PHP service.

Reads the nginx.conf.sample provided by Magento for additional server configuration.

Roles

Has roles: src, varnish

Has access to source code (src) and is marked as backend server for Varnish (varnish).

Config
Name Target Should be replaced? Description
env_php app/etc/env.php no Magento 2 env.php, contains all database and redis settings, etc. pp.
magento_nginx_conf /etc/nginx/conf.d/default.conf no Nginx server settings
Pre Start

Waits for php to start. Would crash otherwise.

varnish

Based on: /service/varnish/4

Varnish cache server. Uses www as backend server.

Roles

Has roles: main

Config
Key Target Should be replaced? Description
vcl /etc/varnish/default.vcl maybe Magento 2 default VCL

db

Based on: /service/mysql/5.6

MySQL 5.6 database.

Driver

Configuration:

User: root

Password: magento2

Database: magento2

redis

Based on: /service/redis/latest

Redis, used for Cache and Session.

rabbitmq

Based on: /service/rabbitmq/3.6

RabbitMQ, may be used as message broker.

mail

Based on: /service/mailhog/latest

Mailhog, used as mail catcher.

Roles

Has roles: mail

Role required for PHP service.

Commands

php

Based on: /command/php/from-service

PHP command.

magerun, magerun2, n98-magerun, n98-magerun2

n98-magerun2 by Netz98 for Magento development.

Additional volumes
Name Source Source path Target path Description
env_php Config from another service (config ‘env_php’ from service ‘php’) app/etc/env.php env.php for Magento
config Home Directory ~/.n98-magerun2 ~/.n98-magerun2 (ro) Magerun2 configuration

magento

bin/magento command. Not included in image, read from working directory instead.

Additional volumes
Name Source Source path Target path Description
env_php Config from another service (config ‘env_php’ from service ‘php’) app/etc/env.php env.php for Magento

composer

Based on: /command/composer/with-host-links

Composer package manager.

mysql

Based on: /command/mysql/from-service-db

MySQL client that load’s the configuration from the service with role db.

The client auto-connects to the database from this service.

/app/magento2/apache

Based on: /app/magento2/base

Variant of Magento using the Apache web-server instead.

Services

php

Based on: /service/php/7.2/apache

Apache web server + PHP.

Roles

Has roles: src, php, varnish

Has access to source code (src), is marked as main PHP service (php) and is marked as backend server for Varnish (varnish).

www

Is removed.

The apache web-server with a PHP CGI module is in the “php” service.

/app/magento2/ce/X

Based on: /app/magento2/base

Configuration for different versions of Magento Open Source, version 2. Using Nginx.

Available versions:

  • 2.3

/app/magento2/ee/X

Based on: /app/magento2/base

Configuration for different versions of Magento Commerce, version 2. Using Nginx.

Available versions:

  • 2.3

/app/magento2/ce/X-apache

Based on: /app/magento2/apache

Configuration for different versions of Magento Open Source, version 2. Using Apache.

Available versions:

  • 2.3

/app/magento2/ee/X-apache

Based on: /app/magento2/apache

Configuration for different versions of Magento Commerce, version 2. Using Apache.

Available versions:

  • 2.3