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.
- 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
- Docker Engine
- Docker Compose
- Docker Machine (Mac and Windows only)
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.
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/
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
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:
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
.
├── 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/)
You can also read more information about the project
Doc | README |
---|---|
xDebug configuration | docs/xdebug.md |
Code sniffer configuration | docs/codesniffer.md |
For support, email evgeniymykhalichenko@gmail.com or telegram @krep1sh
MIT