Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

yivic/yivic-dev-suite

Open more actions menu

Repository files navigation

Nginx, PHP-FPM, MySql for development - Yivic Team

Overview

This is a development suite for development with PHP. It can be easily deployed with 1 or 2 commands. It includes:

  • Nginx (nginx_main for serving as a proxy server)
  • PHP-FPM (php72_fpm, php_latest_fpm for executing PHP scripts via FastCGI of Nginx)
  • MySQL (mysql57, mysql80 database, we have 5.7 for the stable and 8.0 is latest one)
  • PhpMyAdmin (phpmyadmin tool for managing database)

Install prerequisites

For now, this project has been mainly created for Unix (Linux/MacOS). Perhaps it could work on Windows.

All requisites should be available for your distribution. The most important are :

Check if docker-compose is already installed by entering the following command :

which docker-compose

Check Docker Compose compatibility :

Installation

  • Clone or download the project
  • Change directory to the specified directory (default to yivic-dev-suite)
cd <path/to/project-directory>
# Init the .env file, then you can repair value needed to be updated, or you can copy `.env.example` -> `.env`
./scripts/init-env-file.sh 

# Init dev suite, you can add first option for the namespace of dev suite to overwrite the one in .env file
./scripts/init-dev-suite.sh

chmod +x /scripts/init-dev-suite.sh if you can't execute it For Mac user, it's better to create it inside your home, e.g <path/to/project-directory> = ~/workspace/yivic-dev-suite/

  • Repair params on docker-compose.yml of etc/*.conf or etc/*.ini files to match your local
  • Run Docker Compose
docker-compose up -d
  • Wait for several mins and you'll have:
    • Nginx (work as a webserver)
    • PHP-FPM (PHP execution server)
    • MySql
    • phpmyadmin (should connect to mysql via host host.docker.internal)
    • We include MySQL in docker containers but because we believe database is important and you may lose you db once docker failed. Using a database server on local machine is out proposal: use host.docker.internal (for mac), 10.0.2.2 (for docker machine) for the hostname to connect to your main machine.

Using

PHP related commands

PHP composer

  • Run the PHP composer container which your project folder on local machine bound to /var/www/html of composer container
docker-compose run --rm -v /path/to/your/project/folder:/var/www/html php72_cli composer update

WP CLI

docker-compose run --rm -v /path/to/your/project/folder:/var/www/html php72_cli wp plugin list

Running phpunit

docker-compose run --rm -v /path/to/your/test/folder:/var/www/html php72_cli phpunit

Running codeception test

docker-compose run --rm -v /path/to/your/test/folder:/var/www/html php72_cli codecept

Similar thing if you want to use php_latest (use php_latest_cli instead)

SSDB (Redis like service but running on SSD)

  • ssdb is the instance
  • phpssdbadmin is the GUI manager of SSDB, http://:${PHPSSDBADMIN_WEB_EXPOSING_PORT}, user: admin, password: password

Help us

Any thought, feedback or issues, please put it here https://github.com/manhphuc/yivic-dev-suite/issues

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.