Download the PHP package systemsdk/docker-apache-php-laravel without Composer
On this page you can find all versions of the php package systemsdk/docker-apache-php-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download systemsdk/docker-apache-php-laravel
More information about systemsdk/docker-apache-php-laravel
Files in systemsdk/docker-apache-php-laravel
Package docker-apache-php-laravel
Short Description Docker laravel environment
License MIT
Homepage https://github.com/systemsdk/docker-apache-php-laravel
Informations about the package docker-apache-php-laravel
PHP Laravel environment
Docker environment required to run Laravel (based on official php and mysql docker hub repositories).
Requirements
- Docker Engine version 18.06 or later
- Docker Compose version 1.22 or later
- An editor or IDE
- MySQL Workbench
Note: OS recommendation - Linux Ubuntu based.
Components
- Apache 2.4
- PHP 8.3 (Apache handler)
- MySQL 8
- Laravel 11
- Mailpit (only for debug emails on dev environment)
Setting up Docker Engine with Docker Compose
For installing Docker Engine with docker compose please follow steps mentioned on page Docker Engine.
Note 1: Please run next cmd after above step if you are using Linux OS: sudo usermod -aG docker $USER
Note 2: If you are using Docker Desktop for MacOS 12.2 or later - please enable virtiofs for performance (enabled by default since Docker Desktop v4.22).
Setting up DEV environment
1.You can clone this repository from GitHub or install via composer.
Note: Delete storage/mysql-data
folder if it is exists.
If you have installed composer and want to install environment via composer you can use next cmd command:
2.Add domain to local hosts
file:
3.Configure /docker/dev/xdebug-main.ini
(Linux/Windows) or /docker/dev/xdebug-osx.ini
(MacOS) (optional):
- In case you need debug only requests with IDE KEY: PHPSTORM from frontend in your browser:
Install locally in Firefox extension "Xdebug helper" and set in settings IDE KEY: PHPSTORM
- In case you need debug any request to an api (by default):
4.Build, start and install the docker images from your terminal:
Note: If you want to change default docker configurations (web_port, etc...) - open .env
file, edit necessary environment variable value and stop, rebuild, start docker containers.
5.Make sure that you have installed migrations/seeds:
6.Set key for application:
7.In order to use this application, please open in your browser next urls:
- http://localhost
- http://localhost:8025 (Mailpit)
Setting up STAGING environment locally
1.You can clone this repository from GitHub or install via composer.
Note: Delete storage/mysql-data
and vendor
folder if it is exists.
If you have installed composer and want to install environment via composer you can use next cmd command:
Note: If you want to change default docker configurations (web_port, etc...) - create uncommitted .env
file, copy data from .env.staging
, edit necessary environment variable value.
2.Build, start and install the docker images from your terminal:
3.Make sure that you have installed migrations:
4.Set key for application:
Setting up PROD environment locally
1.You can clone this repository from GitHub or install via composer.
Note: Delete storage/mysql-data
and vendor
folder if it is exists.
If you have installed composer and want to install environment via composer you can use next cmd command:
2.Edit compose-prod.yaml
and set necessary user/password for MySQL.
3.Edit env.prod
and set necessary user/password for MySQL.
Note: If you want to change default docker configurations (web_port, etc...) - create uncommitted .env
file, copy data from .env.prod
, edit necessary environment variable value.
4.Build, start and install the docker images from your terminal:
5.Make sure that you have installed migrations:
6.Set key for application:
Getting shell to container
After application will start (make start
) and in order to get shell access inside laravel container you can run following command:
Note 1: Please use next make commands in order to enter in other containers: make ssh-nginx
, make ssh-supervisord
, make ssh-mysql
.
Note 2: Please use exit
command in order to return from container's shell to local shell.
Building containers
In case you edited Dockerfile or other environment configuration you'll need to build containers again using next commands:
Note: Please use environment-specific commands if you need to build test/staging/prod environment, more details can be found using help make help
.
Start and stop environment containers
Please use next make commands in order to start and stop environment:
Note 1: For staging environment need to be used next make commands: make start-staging
, make stop-staging
.
Note 2: For prod environment need to be used next make commands: make start-prod
, make stop-prod
.
Stop and remove environment containers, networks
Please use next make commands in order to stop and remove environment containers, networks:
Note: Please use environment-specific commands if you need to stop and remove test/staging/prod environment, more details can be found using help make help
.
Additional main command available
Notes: Please see more commands in Makefile
Architecture & packages
- Laravel 11
- phpunit
- laravel-ide-helper
- scriptsdev
- composer-bin-plugin
- ergebnis/composer-normalize
- composer-unused
- composer-require-checker
- security-advisories
- php-coveralls
- easy-coding-standard
- PhpMetrics
- phpcpd
- phpmd
- phpstan
- phpinsights
- rector
Guidelines
- Commands
- Development
- Testing
- IDE PhpStorm configuration
- Xdebug configuration
Working on your project
- For new feature development, fork
develop
branch into a new branch with one of the two patterns:feature/{ticketNo}
- Commit often, and write descriptive commit messages, so its easier to follow steps taken when reviewing.
- Push this branch to the repo and create pull request into
develop
to get feedback, with the formatfeature/{ticketNo}
- "Short descriptive title of Jira task". - Iterate as needed.
- Make sure that "All checks have passed" on CircleCI(or another one in case you are not using CircleCI) and status is green.
- When PR is approved, it will be squashed & merged, into
develop
and later merged intorelease/{No}
for deployment.
Note: You can find git flow detail example here.
License
The MIT License (MIT)
All versions of docker-apache-php-laravel with dependencies
ext-ctype Version *
ext-iconv Version *
ext-json Version *
ext-mbstring Version *
ext-pdo Version *
ext-pdo_mysql Version *
laravel/framework Version ^11.9
laravel/tinker Version ^2.9