-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
124 lines (113 loc) · 3.15 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
version: '3'
services:
app_mysql:
container_name: app_mysql
image: mysql:5.7
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=root
command: mysqld --sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" --default-authentication-plugin=mysql_native_password
volumes:
- app_mysql:/var/lib/mysql
app_nginx:
container_name: app_nginx
build: ./docker/nginx
volumes:
- ./apps/utilities:/var/www/utilities
- ./apps/web:/var/www/web
- ./apps/admin:/var/www/admin
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker/nginx/sites/:/etc/nginx/sites-available
- ./docker/nginx/conf.d/:/etc/nginx/conf.d
- ./docker/nginx/ssl/self-signed.conf:/etc/nginx/ssl/self-signed.conf
ports:
- "80:80"
- "443:443"
depends_on:
- app_php_817
- app_php_8028
app_php_817:
container_name: app_php_817
build: ./docker/php_817
user: ${UID}:${GID}
volumes:
- ./apps/web:/var/www/web
- ./apps/admin:/var/www/admin
- ./docker/php_817/php.ini:/usr/local/etc/php/php.ini:ro
environment:
WAIT_HOSTS: app_mysql:3306, app_redis:6379, app_rabbit:5672
depends_on:
- app_mysql
- app_redis
- app_rabbit
extra_hosts:
- "host.docker.internal:host-gateway"
app_php_8028:
container_name: app_php_8028
build: ./docker/php_8028
user: ${UID}:${GID}
volumes:
- ./apps/utilities:/var/www/utilities
- ./docker/php_8028/php.ini:/usr/local/etc/php/php.ini:ro
depends_on:
- app_mysql
- app_redis
- app_rabbit
app_composer:
container_name: app_composer
image: composer:latest
user: ${UID}:${GID}
volumes:
- ./apps/utilities:/var/www/utilities
entrypoint: >
sh -c "composer update --working-dir=/var/www/utilities/phpMyAdmin --ignore-platform-reqs &&
composer update --working-dir=/var/www/utilities/phpRedisAdmin --ignore-platform-reqs"
depends_on:
- app_php_817
- app_php_8028
app_node:
container_name: app_node
build: ./docker/node
user: ${UID}:${GID}
volumes:
- ./apps/web:/var/www/web
- ./apps/admin:/var/www/admin
app_redis:
container_name: app_redis
image: redis
ports:
- "6379:6379"
volumes:
- cache:/data
app_rabbit:
container_name: app_rabbit
build: ./docker/rabbitmq
hostname: "rabbit"
environment:
RABBITMQ_ERLANG_COOKIE: "myapp-rabbitmq-erlang-cookie"
RABBITMQ_DEFAULT_USER: "rabbitmq"
RABBITMQ_DEFAULT_PASS: "rabbitmq"
RABBITMQ_DEFAULT_VHOST: "/"
ports:
- "15672:15672"
- "5672:5672"
volumes:
- "./docker/rabbitmq/enabled_plugins:/etc/rabbitmq/enabled_plugins"
# https://docs.redis.com/latest/ri/installing/install-docker/
app_redisinsight:
container_name: app_redisinsight
image: redislabs/redisinsight:latest
ports:
- "8001:8001"
volumes:
- redisinsight:/db
depends_on:
- app_redis
volumes:
app_mysql: {}
redisinsight:
driver: local
cache:
driver: local