Skip to content

This project was created to quickly launch a php application with all the necessary settings and extensions.

License

krepysh-spec/lamp-docker-php-skeleton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lamp Docker skeleton PHP + Nginx + Mysql + Redis

Stop installing the entire development stack on your local machine. This project will allow you to quickly start working with php. To install, you need to install docker locally.

Features

  • Simple and clear project structure;
  • Php the latest version 8.1 (can be changed if you need);
  • All necessary php extensions including composer and xDebug3;
  • Output all necessary logs (nginx, php, mysql, redis, supervisor), including slow mysql queries;
  • Supervisor support
  • Quick, easy setup for everything you need
  • Lots of useful examples

What's inside

Requirements

Before start work

To run the docker commands without using sudo you must add the docker group to your-user:

sudo usermod -aG docker your-user

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

MacOS/Linux

curl -L https://raw.githubusercontent.com/krepysh-spec/lamp-docker-php-skeleton/main/install.sh | bash # Or if you want it to be installed to a different path: curl -L https://raw.githubusercontent.com/krepysh-spec/lamp-docker-php-skeleton/main/install.sh | bash -s mypath/

Manually

Clone current project:

git clone https://github.com/krepysh-spec/lamp-docker-php-skeleton.git && cd lamp-docker-php-skeleton

Create .env file from .env_example:

cp .env_example .env

or

make init

How start work

Fill configuration in .env file

Run bottom command for install application

make install

If you not change NGINX_HOST and NGINX_PORT in .env open in browser localhost

And you should see something like: Alt Text

Makefile

This file helps to quickly interact with the work of docker and additional features. Read about available commands make help

Commands: init Init skeleton settings help List of all commands in make file install Install application add-host Add nginx host to /etc/hosts file bash Exec backend container build Build docker-compose build-no-cache Build docker-compose without cache up Up with demon docker containers down Down docker containers stop Stop docker containers clear-all-logs Clear all logs in folder /logs clear-logs-in folder=[FOLDER] Clear logs in folder watch-log logFilePath=[PATH TO LOG FILE] Watch log file 

Project tree

. ├── docker - [Docker settings] │   ├── backend │   │   ├── Dockerfile │   │   ├── php │   │   │   └── conf.d │   │   │   ├── php.ini │   │   │   └── xdebug.ini │   │   └── supervisor │   │   ├── conf.d │   │   │   └── example.conf │   │   └── supervisord.conf │   ├── mysql │   │   └── conf.d │   │   └── my.cnf │   └── nginx │   └── nginx.conf ├── docker-compose.yml ├── logs - [All necessary logs are written here] └── src - [Your workspace] 

Project links (Default: http://127.0.0.1/)

More documentation

You can also read more information about the project

Doc README
xDebug configuration docs/xdebug.md
Code sniffer configuration docs/codesniffer.md

Support

For support, email evgeniymykhalichenko@gmail.com or telegram @krep1sh

License

MIT