Skip to content

Commit 013e5e2

Browse files
committed
php container: change structure to split project by folder, fix #4
1 parent 596e54c commit 013e5e2

File tree

5 files changed

+24
-15
lines changed

5 files changed

+24
-15
lines changed

.docker/nginx/demo.conf renamed to .docker/nginx/sites/demo.conf

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ server {
22
listen 80 default_server;
33
listen [::]:80 default_server;
44
server_name demo.localhost.tv;
5-
root /var/www/public;
5+
root /var/www/demo/public;
66

77
location / {
88
try_files $uri @rewriteapp;
@@ -21,6 +21,9 @@ server {
2121
fastcgi_param HTTPS off;
2222
}
2323

24+
# You can write your logs in symfony log folder
25+
# error_log /var/www/demo/var/log/nginx-error.log;
26+
# access_log /var/www/demo/var/log/nginx-access.log;
2427
error_log /var/log/nginx/demo_error.log;
2528
access_log /var/log/nginx/demo_access.log;
2629
}

.docker/php/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends vim curl locale
77
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
88
RUN install-php-extensions @composer \
99
apcu opcache intl \
10-
gd imagick \
10+
gd \
1111
pdo_mysql \
1212
mbstring \
1313
sodium \

Makefile

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ endif
77
# Init var
88
user := $(shell id -u)
99
group := $(shell id www-data -g)
10+
PROJECT_NAME=demo
11+
PROJECT_DIR=/var/www/$(PROJECT_NAME)
1012
DOCKER_COMPOSE := USER_ID=$(user) GROUP_ID=$(group) docker-compose
11-
EXEC?=$(DOCKER_COMPOSE) exec php
12-
EXEC_ROOT?=$(DOCKER_COMPOSE) exec -u root php
13+
EXEC?=$(DOCKER_COMPOSE) exec --workdir $(PROJECT_DIR) php
14+
EXEC_ROOT?=$(DOCKER_COMPOSE) exec --workdir $(PROJECT_DIR) -u root php
1315
CONSOLE=bin/console
1416
PHPCSFIXER?=$(EXEC) php -d memory_limit=1024m vendor/bin/php-cs-fixer
1517
DOCKER_COMPOSE_OVERRIDE ?= dev
@@ -30,17 +32,21 @@ up: docker-compose.override.yml up-ci ## Start project with docker-compose + De
3032
stop: ## Stop docker containers
3133
@$(DOCKER_COMPOSE) stop
3234

35+
refresh: ## Remove and re-create docker containers (WITHOUT delete all data)
36+
@$(DOCKER_COMPOSE) down
37+
@make up-ci
38+
3339
restart: stop up-ci ## Restart docker containers
3440

3541
install: docker-compose.override.yml build up ## Create and start docker containers
3642

3743
install-demo:
38-
@$(EXEC_ROOT) chmod 775 /var/www
39-
@$(EXEC_ROOT) chown www-data:www-data /var/www
44+
@$(EXEC_ROOT) chmod -R 775 /var/www
45+
@$(EXEC_ROOT) chown -R www-data:www-data /var/www
4046
@rm -rf project/* project/.env
41-
$(call composer,create-project symfony/symfony-demo demo)
47+
$(call composer,create-project symfony/symfony-demo install_project,/var/www)
4248
@cp .docker/php/symfony-demo.env project/.env
43-
@$(EXEC_ROOT) bash -c "mv demo/* . && rm -rf demo/ data/"
49+
@$(EXEC_ROOT) bash -c "cd /var/www && mv install_project/* $(PROJECT_NAME)/ && rm -rf install_project/ data/"
4450
@make restart perm db-create-migration db-install clear-cache
4551

4652
install-prod:
@@ -77,13 +83,13 @@ clean: clear ## Clear and remove dependencies
7783
## Developpment
7884
##---------------------------------------------------------------------------
7985
define composer
80-
@$(EXEC) php -d memory_limit=1500M /usr/local/bin/composer $(1) -n
86+
@$(EXEC) php -d memory_limit=1500M /usr/local/bin/composer $(1) -n --working-dir=$(or $(2),$(PROJECT_DIR))
8187
endef
8288

8389
composer-install: ## Composer installation
8490
$(call composer,install)
8591

86-
composer: ## Composer command. You can specified package, example: `make composer CMD="update twig/twig"`
92+
composer: ## Composer command. You can specified package, example: `make composer CMD="update twig/twig"`, you can set another project folder with the argument PROJECT_NAME="folder name in /var/www --OR-- /folder/full/path/location"
8793
$(call composer,$(CMD))
8894

8995
shell: ## Run app container in interactive mode

docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ services:
1212
- 80
1313
- 443
1414
volumes:
15-
- ./project:/var/www
15+
- ./project:/var/www/demo
1616
- ./.docker/nginx/nginx.conf:/etc/nginx/nginx.conf
17-
- ./.docker/nginx/demo.conf:/etc/nginx/sites-enabled/demo.conf
17+
- ./.docker/nginx/sites:/etc/nginx/sites-enabled
1818
restart: unless-stopped
1919
depends_on:
2020
- php
@@ -48,7 +48,7 @@ services:
4848
MYSQL_PORT: ${MYSQL_PORT}
4949
MYSQL_DATABASE: ${MYSQL_DATABASE}
5050
volumes:
51-
- ./project:/var/www
51+
- ./project:/var/www/demo
5252
- ${COMPOSER_HOME:-/tmp/composer}:/home/www-data/.composer # Share composer cache
5353
depends_on:
5454
- db

readme.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Docker Nginx + PHP + Mysql + Dev Tools
2-
A Docker image based on Ubuntu, serving PHP 7.4 FPM running as Nginx Module. Useful for Web developers in need for a fixed PHP version. In addition, the `error_reporting` setting in php.ini is configurable per container via environment variable.
2+
A Docker image based on Ubuntu, serving PHP 8.1 FPM running as Nginx Module. Useful for Web developers in need for a fixed PHP version. In addition, the `error_reporting` setting in php.ini is configurable per container via environment variable.
33

44
## Prerequisite
55

66
* Docker v18+ / Docker-compose v1.23+ / [Manage Docker as a non-root user](https://docs.docker.com/install/linux/linux-postinstall/)
7-
* Make command: Under linux `sudo apt install build-essential` or for [windows users](https://stackoverflow.com/questions/32127524/how-to-install-and-use-make-in-windows/54086635)
7+
* Make command: Under linux `sudo apt install build-essential` or for [Windows users](https://stackoverflow.com/questions/32127524/how-to-install-and-use-make-in-windows/54086635)
88
* Git
99

1010

0 commit comments

Comments
 (0)