11version : " 3"
22
3+ networks :
4+ frontend :
5+ external : true
6+ app :
7+ driver : bridge
8+ internal : false
9+
310services :
411 mariadb :
5- image : mariadb:10.3
12+ image : itkdev/mariadb:latest
13+ networks :
14+ - app
615 ports :
716 - ' 3306'
817 environment :
9- MYSQL_ROOT_PASSWORD : password
10- MYSQL_USER : db
11- MYSQL_PASSWORD : db
12- MYSQL_DATABASE : db
13- # @see https://symfony.com/doc/current/setup/symfony_server.html#docker-integration
14- labels :
15- com.symfony.server.service-prefix : ' DATABASE'
18+ - MYSQL_ROOT_PASSWORD=password
19+ - MYSQL_USER=db
20+ - MYSQL_PASSWORD=db
21+ - MYSQL_DATABASE=db
22+ # - ENCRYPT=1 # Uncomment to enable database encryption.
1623
1724 phpfpm :
1825 image : itkdev/php7.4-fpm:latest
19- restart : always
26+ networks :
27+ - app
2028 environment :
21- - PHP_XDEBUG=${PHP_XDEBUG:-0}
22- - PHP_XDEBUG_REMOTE_AUTOSTART=${PHP_XDEBUG_REMOTE_AUTOSTART:-0}
23- - PHP_XDEBUG_REMOTE_HOST=${PHP_XDEBUG_REMOTE_HOST:-0.0.0.0}
24- - PHP_XDEBUG_REMOTE_CONNECT_BACK=${PHP_XDEBUG_REMOTE_CONNECT_BACK:-0}
25- # - PHP_MAIL=1 # Uncomment to enable mailhog
29+ - XDEBUG_MODE=${XDEBUG_MODE:-off}
30+ - XDEBUG_SESSION=${XDEBUG_SESSION:-0}
31+ - PHP_MAX_EXECUTION_TIME=30
32+ - PHP_MEMORY_LIMIT=256M
33+ # - PHP_MAIL=1 # Uncomment to enable mailhog.
34+ - DOCKER_HOST_DOMAIN=${COMPOSE_DOMAIN}
35+ - COMPOSER_VERSION=1
2636 depends_on :
2737 - mariadb
2838 volumes :
2939 - .:/app:delegated
3040
3141 nginx :
3242 image : nginx:latest
43+ networks :
44+ - app
45+ - frontend
3346 depends_on :
3447 - phpfpm
3548 ports :
@@ -38,27 +51,14 @@ services:
3851 - ${PWD}/.docker/vhost.conf:/etc/nginx/conf.d/default.conf:ro
3952 - ./:/app:delegated
4053 labels :
41- - " traefik.frontend.rule=Host:${COMPOSE_PROJECT_NAME}.docker.localhost"
42-
43- memcached :
44- image : ' memcached:latest'
45- ports :
46- - ' 11211'
47- environment :
48- - MEMCACHED_CACHE_SIZE=64
54+ - " traefik.enable=true"
55+ - " traefik.docker.network=frontend"
56+ - " traefik.http.routers.${COMPOSE_PROJECT_NAME}.rule=Host(`${COMPOSE_DOMAIN}`)"
4957
5058 mailhog :
5159 image : mailhog/mailhog
52- restart : always
60+ networks :
61+ - app
5362 ports :
5463 - " 1025"
5564 - " 8025"
56-
57- reverse-proxy :
58- image : traefik # The official Traefik docker image
59- command : --api --docker # Enables the web UI and tells Traefik to listen to docker
60- ports :
61- - " 80"
62- - " 8080"
63- volumes :
64- - /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events
0 commit comments