Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nemke82/magento2gitpod

Magento 2 optimized setup for https://gitpod.io workspace -- Nginx, MySQL, PHP, PHP-FPM, and a lot more...
https://github.com/nemke82/magento2gitpod

Last synced: about 2 months ago
JSON representation

Magento 2 optimized setup for https://gitpod.io workspace -- Nginx, MySQL, PHP, PHP-FPM, and a lot more...

Awesome Lists containing this project

README

        

# magento2gitpod
Magento 2 optimized setup for https://gitpod.io workspace -- Nginx, MySQL (switch to Percona MySQL 8.x available in the menu), PHP 7.4 (older and newer versions available in the menu), PHP-FPM, and a lot more...

![](magento2gitpod.png)

Watch full video how you can easily setup Magento 2 Dev environment right in your browser:
https://youtu.be/ZydOkPWJPT8

*How-to instructions:*
1) Register on https://gitpod.io
2) Fork https://github.com/nemke82/magento2gitpod to your repo
3) Install https://chrome.google.com/webstore/detail/gitpod-online-ide/dodmmooeoklaejobgleioelladacbeki?hl=en
4) Load your forked repo and click on green GITPOD button, next to Clone or Download button:
http://i.imgur.com/XZCn57y.png

Gitpod will now launch a workspace container for you in the cloud, containing a full Linux system. It will also clone the GitHub repository branch based on the GitHub page you were coming from.

More info: https://www.gitpod.io/docs/10_getting_started/

Services/Tools installed:
- **Nginx**
- **PHP 7.4** based on ppa:ondrej/php repo (https://launchpad.net/~ondrej/+archive/ubuntu/php). To add additional PHP extensions, please update https://github.com/nemke82/magento2gitpod/blob/master/.gitpod.Dockerfile#L15 block. (older and newer versions available in the menu)
- **Python** (base version)
- **rsync**
- **mc** (Midnight commander)
- **MySQL** (Percona) 5.7 version default. (switch to Percona MySQL 8.x available in the menu)
- **xDebug** (latest Magento 2 supported version 2.9.8). From menu area select "Start X-Debug" and wait for confirmation. Enables CLI and PHP together, then you can follow https://www.gitpod.io/docs/languages/php/#debugging-php-in-gitpod guidelines.
- **Blackfire**. Note: Please run **./blackfire-run.sh** to enter your Server/Client ID and Token's. Sometimes it requires extra PHP-FPM restart, so please run service php7.2-fpm restart if required.
- **Tideways**. Note: Please run **/usr/bin/tideways-daemon --address 0.0.0.0:9135 &** to initiate daemon. Please update .env-file located in repo with TIDEWAYS_APIKEY
- **Newrelic**. Note: Please run **newrelic-daemon -c /etc/newrelic/newrelic.cfg** to initiate daemon. Please update .gitpod.Dockerfile (https://github.com/nemke82/magento2gitpod/blob/master/.gitpod.Dockerfile) with license key. Requires Fresh M2 installation (run m2install.sh) or your store to finish process of validation.

- **Redis**. Note: Please run 'redis-server &' to start it or run it without & in the separate tab.
- **NodeJS/NPM NVM Manager**. Note: run nvm ls-remote to list available versions, then nvm install to install specific version or latest.
- **ElasticSearch 5.6.16**. Note: Please run following command to start it:

'$ES_HOME56/bin/elasticsearch -d -p $ES_HOME56/pid -Ediscovery.type=single-node'

- **ElasticSearch 6.8.9**. Note: Please run following command to start it:

'$ES_HOME68/bin/elasticsearch -d -p $ES_HOME68/pid -Ediscovery.type=single-node'

- **ElasticSearch 7.9.3**. Note: Please run following command to start it:

'$ES_HOME79/bin/elasticsearch -d -p $ES_HOME79/pid -Ediscovery.type=single-node'

Select newer ElasticSearch or OpenSearch installations from Magento 2 Gitpod Manager menu


Some extensions like ElasticSuite (https://github.com/Smile-SA/elasticsuite/wiki/ServerConfig-5.x) requires two ElasticSearch plugins to be installed. You can install them with the following commands:


$ES_HOME/bin/elasticsearch-plugin install analysis-phonetic

$ES_HOME/bin/elasticsearch-plugin install analysis-icu


- **MFTF (Magento 2 Multi Functional Testing Framework)**
Follow https://github.com/magento/magento2-functional-testing-framework/blob/develop/docs/getting-started.md guidelines.
Installer is here: **chmod a+rwx m2-install-solo.sh && bash m2-install-solo.sh**

Note: Please run following command to start Selenium and Chromedriver (as required):

java -Dwebdriver.chrome.driver=chromedriver -jar $HOME/selenium-server-standalone-3.141.59.jar &

$HOME/chromedriver &

Every listed service installation code is added within .gitpod.Dockerfile
You can split them into separate workspaces and share it among themself if you know what you are doing.

- **RabbitMQ support**
default username/password: guest/guest

For browser open 15762 browser (already exposed)

Rest commands can be used as per RabbitMQ guidelines https://www.rabbitmq.com/cli.html

- **PWA Studio Support**
To start installation select field from menu.sh

or run manually with following command: bash /workspace/magento2gitpod/pwa-studio-installer.sh

Start service:

bash /workspace/magento2gitpod/pwa/start.sh &

TO INSTALL Magento 2.4.6-p6 (latest):

**./m2-install.sh**

For Magento 2.4-dev branch replicated from https://github.com/magento/magento2 please run:

**m2-install-solo.sh**

MySQL (default settings):
username: root

password: nem4540

In case you need to create additional database:

mysql -e 'create database nemanja;'

(where "nemanja" is database name used)

In case you need to adjust certain my.cnf settings, please edit https://github.com/nemke82/magento2gitpod/blob/master/mysql.cnf file and redeploy GitPod workspace.

If you are moving your own installation don't foget to adjust following cookie paths:

**web/cookie/path to "/"**

**web/cookie/domain to ".gitpod.io"**

**web/secure/offloader_header to "X-Forwarded-Proto"**


You may fork this repo and boot it on your own server or local computer:
https://www.gitpod.io/docs/self-hosted/latest/self-hosted/

CHANGELOG:
https://github.com/nemke82/magento2gitpod/wiki/Changelog