Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 8b8f4fd

Browse files
author
DKravtsov
committedJul 14, 2023
Added Mailpit, updated composer dependencies, added SQL_MODE option for MySQL.
1 parent 39be435 commit 8b8f4fd

24 files changed

+1021
-731
lines changed
 

‎.env.dev

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ WEB_PORT_SSL=443
55
XDEBUG_CONFIG=main
66
# MySQL INNODB_USE_NATIVE_AIO possible values: 1|0. Set to 0 when AIO interface is not supported on OSX. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_use_native_aio
77
INNODB_USE_NATIVE_AIO=1
8+
# Sometimes AWS MySQL RDS has SQL_MODE="NO_ENGINE_SUBSTITUTION" (https://github.com/awsdocs/amazon-rds-user-guide/issues/160) but MySQL default described here - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode
9+
SQL_MODE="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
810
###< docker configuration ###
911

1012
APP_NAME=Laravel
@@ -38,7 +40,7 @@ REDIS_PASSWORD=null
3840
REDIS_PORT=6379
3941

4042
MAIL_MAILER=smtp
41-
MAIL_HOST=mailhog
43+
MAIL_HOST=mail
4244
MAIL_PORT=1025
4345
MAIL_USERNAME=null
4446
MAIL_PASSWORD=null

‎.env.prod

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ WEB_PORT_HTTP=80
33
WEB_PORT_SSL=443
44
# MySQL INNODB_USE_NATIVE_AIO possible values: 1|0. Set to 0 when AIO interface is not supported on OSX. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_use_native_aio
55
INNODB_USE_NATIVE_AIO=1
6+
# Sometimes AWS MySQL RDS has SQL_MODE="NO_ENGINE_SUBSTITUTION" (https://github.com/awsdocs/amazon-rds-user-guide/issues/160) but MySQL default described here - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode
7+
SQL_MODE="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
68
###< docker configuration ###
79

810
APP_NAME=Laravel
@@ -34,7 +36,7 @@ REDIS_PASSWORD=null
3436
REDIS_PORT=6379
3537

3638
MAIL_MAILER=smtp
37-
MAIL_HOST=mailhog
39+
MAIL_HOST=mail
3840
MAIL_PORT=1025
3941
MAIL_USERNAME=null
4042
MAIL_PASSWORD=null

‎.env.staging

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ WEB_PORT_HTTP=80
33
WEB_PORT_SSL=443
44
# MySQL INNODB_USE_NATIVE_AIO possible values: 1|0. Set to 0 when AIO interface is not supported on OSX. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_use_native_aio
55
INNODB_USE_NATIVE_AIO=1
6+
# Sometimes AWS MySQL RDS has SQL_MODE="NO_ENGINE_SUBSTITUTION" (https://github.com/awsdocs/amazon-rds-user-guide/issues/160) but MySQL default described here - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode
7+
SQL_MODE="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
68
###< docker configuration ###
79

810
APP_NAME=Laravel
@@ -34,7 +36,7 @@ REDIS_PASSWORD=null
3436
REDIS_PORT=6379
3537

3638
MAIL_MAILER=smtp
37-
MAIL_HOST=mailhog
39+
MAIL_HOST=mail
3840
MAIL_PORT=1025
3941
MAIL_USERNAME=null
4042
MAIL_PASSWORD=null

‎.env.test

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ WEB_PORT_SSL=443
55
XDEBUG_CONFIG=main
66
# MySQL INNODB_USE_NATIVE_AIO possible values: 1|0. Set to 0 when AIO interface is not supported on OSX. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_use_native_aio
77
INNODB_USE_NATIVE_AIO=1
8+
# Sometimes AWS MySQL RDS has SQL_MODE="NO_ENGINE_SUBSTITUTION" (https://github.com/awsdocs/amazon-rds-user-guide/issues/160) but MySQL default described here - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode
9+
SQL_MODE="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
810
###< docker configuration ###
911

1012
APP_NAME=Laravel
@@ -36,7 +38,7 @@ REDIS_PASSWORD=null
3638
REDIS_PORT=6379
3739

3840
MAIL_MAILER=smtp
39-
MAIL_HOST=mailhog
41+
MAIL_HOST=mail
4042
MAIL_PORT=1025
4143
MAIL_USERNAME=null
4244
MAIL_PASSWORD=null

‎.env.test-ci

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ WEB_PORT_SSL=443
77
XDEBUG_CONFIG=main
88
# MySQL INNODB_USE_NATIVE_AIO possible values: 1|0. Set to 0 when AIO interface is not supported on OSX. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_use_native_aio
99
INNODB_USE_NATIVE_AIO=1
10+
# Sometimes AWS MySQL RDS has SQL_MODE="NO_ENGINE_SUBSTITUTION" (https://github.com/awsdocs/amazon-rds-user-guide/issues/160) but MySQL default described here - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_mode
11+
SQL_MODE="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
1012
###< docker configuration ###
1113

1214
APP_NAME=Laravel
@@ -38,7 +40,7 @@ REDIS_PASSWORD=null
3840
REDIS_PORT=6379
3941

4042
MAIL_MAILER=smtp
41-
MAIL_HOST=mailhog
43+
MAIL_HOST=mail
4244
MAIL_PORT=1025
4345
MAIL_USERNAME=null
4446
MAIL_PASSWORD=null

‎Makefile

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ export WEB_PORT_HTTP=80
33
export WEB_PORT_SSL=443
44
export XDEBUG_CONFIG=main
55
export INNODB_USE_NATIVE_AIO=1
6+
export SQL_MODE=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
67

78
# Determine if .env file exist
89
ifneq ("$(wildcard .env)","")
@@ -34,84 +35,84 @@ help: ## Shows available commands with description
3435

3536
build: ## Build dev environment
3637
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
37-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose.yml build
38+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose.yml build
3839
else
3940
$(ERROR_ONLY_FOR_HOST)
4041
endif
4142

4243
build-test: ## Build test or continuous integration environment
4344
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
44-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose-test-ci.yml build
45+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose-test-ci.yml build
4546
else
4647
$(ERROR_ONLY_FOR_HOST)
4748
endif
4849

4950
build-staging: ## Build staging environment
5051
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
51-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose-staging.yml build
52+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose-staging.yml build
5253
else
5354
$(ERROR_ONLY_FOR_HOST)
5455
endif
5556

5657
build-prod: ## Build prod environment
5758
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
58-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose-prod.yml build
59+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose-prod.yml build
5960
else
6061
$(ERROR_ONLY_FOR_HOST)
6162
endif
6263

6364
start: ## Start dev environment
6465
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
65-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose.yml $(PROJECT_NAME) up -d
66+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose.yml $(PROJECT_NAME) up -d
6667
else
6768
$(ERROR_ONLY_FOR_HOST)
6869
endif
6970

7071
start-test: ## Start test or continuous integration environment
7172
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
72-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose-test-ci.yml $(PROJECT_NAME) up -d
73+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose-test-ci.yml $(PROJECT_NAME) up -d
7374
else
7475
$(ERROR_ONLY_FOR_HOST)
7576
endif
7677

7778
start-staging: ## Start staging environment
7879
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
79-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose-staging.yml $(PROJECT_NAME) up -d
80+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose-staging.yml $(PROJECT_NAME) up -d
8081
else
8182
$(ERROR_ONLY_FOR_HOST)
8283
endif
8384

8485
start-prod: ## Start prod environment
8586
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
86-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose-prod.yml $(PROJECT_NAME) up -d
87+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose-prod.yml $(PROJECT_NAME) up -d
8788
else
8889
$(ERROR_ONLY_FOR_HOST)
8990
endif
9091

9192
stop: ## Stop dev environment
9293
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
93-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose.yml $(PROJECT_NAME) down
94+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose.yml $(PROJECT_NAME) down
9495
else
9596
$(ERROR_ONLY_FOR_HOST)
9697
endif
9798

9899
stop-test: ## Stop test or continuous integration environment
99100
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
100-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose-test-ci.yml $(PROJECT_NAME) down
101+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose-test-ci.yml $(PROJECT_NAME) down
101102
else
102103
$(ERROR_ONLY_FOR_HOST)
103104
endif
104105

105106
stop-staging: ## Stop staging environment
106107
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
107-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose-staging.yml $(PROJECT_NAME) down
108+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose-staging.yml $(PROJECT_NAME) down
108109
else
109110
$(ERROR_ONLY_FOR_HOST)
110111
endif
111112

112113
stop-prod: ## Stop prod environment
113114
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
114-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose -f docker-compose-prod.yml $(PROJECT_NAME) down
115+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose -f docker-compose-prod.yml $(PROJECT_NAME) down
115116
else
116117
$(ERROR_ONLY_FOR_HOST)
117118
endif
@@ -129,28 +130,28 @@ env-test-ci: ## Creates config for test/ci environment
129130

130131
ssh: ## Get bash inside laravel docker container
131132
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
132-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) laravel bash
133+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) laravel bash
133134
else
134135
$(ERROR_ONLY_FOR_HOST)
135136
endif
136137

137138
ssh-root: ## Get bash as root user inside laravel docker container
138139
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
139-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose $(PROJECT_NAME) exec $(OPTION_T) laravel bash
140+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose $(PROJECT_NAME) exec $(OPTION_T) laravel bash
140141
else
141142
$(ERROR_ONLY_FOR_HOST)
142143
endif
143144

144145
ssh-supervisord: ## Get bash inside supervisord docker container (cron jobs running there, etc...)
145146
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
146-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose $(PROJECT_NAME) exec supervisord bash
147+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose $(PROJECT_NAME) exec supervisord bash
147148
else
148149
$(ERROR_ONLY_FOR_HOST)
149150
endif
150151

151152
ssh-mysql: ## Get bash inside mysql docker container
152153
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
153-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose $(PROJECT_NAME) exec mysql bash
154+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose $(PROJECT_NAME) exec mysql bash
154155
else
155156
$(ERROR_ONLY_FOR_HOST)
156157
endif
@@ -159,19 +160,19 @@ exec:
159160
ifeq ($(INSIDE_DOCKER_CONTAINER), 1)
160161
@$$cmd
161162
else
162-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) laravel $$cmd
163+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) laravel $$cmd
163164
endif
164165

165166
exec-bash:
166167
ifeq ($(INSIDE_DOCKER_CONTAINER), 1)
167168
@bash -c "$(cmd)"
168169
else
169-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) laravel bash -c "$(cmd)"
170+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) laravel bash -c "$(cmd)"
170171
endif
171172

172173
exec-by-root:
173174
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
174-
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) docker-compose $(PROJECT_NAME) exec $(OPTION_T) laravel $$cmd
175+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) WEB_PORT_HTTP=$(WEB_PORT_HTTP) WEB_PORT_SSL=$(WEB_PORT_SSL) XDEBUG_CONFIG=$(XDEBUG_CONFIG) INNODB_USE_NATIVE_AIO=$(INNODB_USE_NATIVE_AIO) SQL_MODE=$(SQL_MODE) docker-compose $(PROJECT_NAME) exec $(OPTION_T) laravel $$cmd
175176
else
176177
$(ERROR_ONLY_FOR_HOST)
177178
endif
@@ -270,7 +271,7 @@ phpcpd: ## Runs php copy/paste detector
270271
@make exec cmd="php phpcpd.phar --fuzzy app tests"
271272

272273
phpmd: ## Runs php mess detector
273-
@make exec cmd="php ./vendor/bin/phpmd app text phpmd_ruleset.xml --suffixes php"
274+
@make exec cmd="php ./vendor/bin/phpmd app,tests text phpmd_ruleset.xml --suffixes php"
274275

275276
phpstan: ## Runs PhpStan static analysis tool
276277
ifeq ($(INSIDE_DOCKER_CONTAINER), 1)

‎composer.lock

Lines changed: 208 additions & 181 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎docker-compose-prod.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ services:
3333
platform: linux/x86_64
3434
container_name: ${COMPOSE_PROJECT_NAME}-mysql
3535
restart: always
36-
command: --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=${INNODB_USE_NATIVE_AIO:-1}
36+
command: --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=${INNODB_USE_NATIVE_AIO:-1} --sql_mode=${SQL_MODE:-"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"}
3737
environment:
3838
MYSQL_ROOT_PASSWORD: secret
3939
MYSQL_DATABASE: laravel

‎docker-compose-staging.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ services:
3333
platform: linux/x86_64
3434
container_name: ${COMPOSE_PROJECT_NAME}-mysql
3535
restart: always
36-
command: --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=${INNODB_USE_NATIVE_AIO:-1}
36+
command: --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=${INNODB_USE_NATIVE_AIO:-1} --sql_mode=${SQL_MODE:-"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"}
3737
environment:
3838
MYSQL_ROOT_PASSWORD: secret
3939
MYSQL_DATABASE: laravel

‎docker-compose-test-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ services:
3434
image: mysql:8.0
3535
platform: linux/x86_64
3636
container_name: ${COMPOSE_PROJECT_NAME}-mysql
37-
command: --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=${INNODB_USE_NATIVE_AIO:-1}
37+
command: --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=${INNODB_USE_NATIVE_AIO:-1} --sql_mode=${SQL_MODE:-"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"}
3838
environment:
3939
MYSQL_ROOT_PASSWORD: secret
4040
MYSQL_DATABASE: laravel

‎docker-compose.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ services:
2020
- ./:/var/www/html:cached
2121
depends_on:
2222
- mysql
23+
- mail
2324
networks:
2425
- laravel
2526

@@ -34,7 +35,7 @@ services:
3435
image: mysql:8.0
3536
platform: linux/x86_64
3637
container_name: ${COMPOSE_PROJECT_NAME}-mysql
37-
command: --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=${INNODB_USE_NATIVE_AIO:-1}
38+
command: --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=${INNODB_USE_NATIVE_AIO:-1} --sql_mode=${SQL_MODE:-"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"}
3839
environment:
3940
MYSQL_ROOT_PASSWORD: secret
4041
MYSQL_DATABASE: laravel
@@ -46,6 +47,16 @@ services:
4647
networks:
4748
- laravel
4849

50+
mail:
51+
image: axllent/mailpit:latest
52+
container_name: ${COMPOSE_PROJECT_NAME}-mail
53+
restart: always
54+
ports:
55+
- "8025:8025"
56+
- "1025:1025"
57+
networks:
58+
- laravel
59+
4960
networks:
5061
laravel:
5162
name: laravel

‎readme.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@ Note: OS recommendation - Linux Ubuntu based.
2323
2. PHP 8.2 (Apache handler)
2424
3. MySQL 8
2525
4. Laravel 10
26+
5. Mailpit (only for debug emails on dev environment)
2627

2728
## Setting up Docker and docker-compose
2829
1.For installing Docker please follow steps mentioned on page [install on Ubuntu linux](https://docs.docker.com/install/linux/docker-ce/ubuntu/) or [install on Mac/Windows](https://docs.docker.com/engine/install/).
2930

30-
2.For installing docker-compose as `Linux Standalone binary` please follow steps on the page [install compose](https://docs.docker.com/compose/install/other/#install-compose-standalone) if you are using Linux OS.
31+
2.For installing docker-compose as `Linux Standalone binary` please follow steps on the page [install compose](https://docs.docker.com/compose/install/standalone/) if you are using Linux OS.
3132

3233
Note 1: Please run next cmd after above step 2 if you are using Linux OS: `sudo usermod -aG docker $USER`
3334

@@ -81,7 +82,9 @@ make seed
8182
make key-generate
8283
```
8384

84-
7.Check and open in your browser next url: [http://localhost](http://localhost).
85+
7.In order to use this application, please open in your browser next urls:
86+
- [http://localhost](http://localhost)
87+
- [http://localhost:8025 (Mailpit)](http://localhost:8025)
8588

8689
## Setting up STAGING environment locally
8790
1.You can clone this repository from GitHub or install via composer.

‎tools/01_phpunit/composer.lock

Lines changed: 69 additions & 43 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tools/02_phpstan/composer.lock

Lines changed: 112 additions & 86 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tools/03_ecs/composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
"php": "^8.2.0"
66
},
77
"require-dev": {
8-
"friendsofphp/php-cs-fixer": "3.17.*",
9-
"symplify/easy-coding-standard": "11.3.*",
8+
"friendsofphp/php-cs-fixer": "3.21.*",
9+
"symplify/easy-coding-standard": "11.5.*",
1010
"roave/security-advisories": "dev-latest"
1111
},
1212
"config": {

‎tools/03_ecs/composer.lock

Lines changed: 77 additions & 51 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tools/04_php-coveralls/composer.lock

Lines changed: 63 additions & 37 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tools/05_phpinsights/composer.lock

Lines changed: 100 additions & 72 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tools/06_phpmd/composer.lock

Lines changed: 69 additions & 43 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tools/07_phpmetrics/composer.lock

Lines changed: 63 additions & 37 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tools/08_rector/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
},
77
"require-dev": {
88
"rector/rector": "0.17.*",
9-
"driftingly/rector-laravel": "0.20.*",
9+
"driftingly/rector-laravel": "0.21.*",
1010
"roave/security-advisories": "dev-latest"
1111
},
1212
"config": {

‎tools/08_rector/composer.lock

Lines changed: 76 additions & 50 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tools/09_composer/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"php": "^8.2.0"
66
},
77
"require-dev": {
8-
"ergebnis/composer-normalize": "^2.31",
8+
"ergebnis/composer-normalize": "^2.33",
99
"icanhazstring/composer-unused": "^0.8",
1010
"maglnet/composer-require-checker": "^4.6",
1111
"roave/security-advisories": "dev-latest"

‎tools/09_composer/composer.lock

Lines changed: 124 additions & 96 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)
Please sign in to comment.