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, cron), including slow mysql queries;
- Supervisor and cron support
- Quick, easy setup for everything you need
- Lots of useful examples
What's inside
Requirements
- Docker Engine
- Docker Compose
- Docker Machine (Mac and Windows only)
How start work
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
Fill configuration in .env file
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.
docker-compose build && docker-compose up
After open in browser localhost
Makefile
This file helps to quickly interact with the work of docker and additional features.
usage: make COMMAND
Commands:
init Init skeleton settings
help List of all commands in make file
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
│ │ ├── cron
│ │ │ └── crontab
│ │ ├── 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]
Support
For support, email [email protected] or telegram @krep1sh
License
MIT