-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
163 lines (151 loc) · 4.3 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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
services:
soketi:
image: 'quay.io/soketi/soketi:latest-16-alpine'
container_name: weather_soketi
environment:
SOKETI_DEBUG: ${SOKETI_DEBUG:-1}
SOKETI_METRICS_SERVER_PORT: 9601
SOKETI_DEFAULT_APP_ID: ${PUSHER_APP_ID}
SOKETI_DEFAULT_APP_KEY: ${PUSHER_APP_KEY}
SOKETI_DEFAULT_APP_SECRET: ${PUSHER_APP_SECRET}
ports:
- ${PUSHER_PORT:-6001}:6001
- ${PUSHER_METRICS_PORT:-9601}:9601
networks:
- app-network
nginx:
image: nginx:1.17.4
container_name: weather_nginx
restart: unless-stopped
ports:
- ${NGINX_PORT}:80
volumes:
- ./docker_settings/nginx.conf:/etc/nginx/conf.d/default.conf
- ./docker_settings/logs:/var/log/nginx
- ./:/var/www/html
depends_on:
- php
- soketi
networks:
- app-network
php:
build:
context: ./docker_settings
dockerfile: Dockerfile_php81
container_name: weather_php
restart: unless-stopped
volumes:
- ./:/var/www/html
- ./docker_settings/php.ini:/usr/local/etc/php/conf.d/php-memory-limit.ini
depends_on:
- mysql
networks:
- app-network
php-cli-cron:
build:
context: ./docker_settings
dockerfile: Dockerfile_cron
container_name: weather_php_cli_cron
volumes:
- ./:/var/www/html
depends_on:
- php
- redis
networks:
- app-network
redis:
image: redis:alpine
container_name: weather_redis
restart: unless-stopped
networks:
- app-network
mysql:
image: mysql:5.7
restart: unless-stopped
container_name: weather_mysql
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
TZ: Europe/Budapest
LANG: C.UTF_8
MYSQL_CHARSET: utf8mb4
MYSQL_COLLATION: utf8mb4_unicode_ci
ports:
- "33063:3306"
volumes:
- ./docker_settings/mysql_data:/var/lib/mysql
networks:
- app-network
mysql82:
build:
context: ./docker_settings
dockerfile: ./Dockerfile_mysql82
container_name: weather_mysql82
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
TZ: Europe/Budapest
LANG: C.UTF_8
MYSQL_CHARSET: utf8mb4
MYSQL_COLLATION: utf8mb4_unicode_ci
ports:
- "33064:3306"
volumes:
- ./docker_settings/mysql82_data:/var/lib/mysql
user: ${CURRENT_UID:-}
networks:
- app-network
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: unless-stopped
container_name: weather_phpmyadmin
ports:
- ${PHPMYADMIN_PORT}:80
environment:
PMA_HOSTS: mysql, mysql82
PMA_USER: ${DB_USERNAME}
PMA_PASSWORD: ${DB_PASSWORD}
UPLOAD_LIMIT: 1000M
depends_on:
- mysql
networks:
- app-network
node:
build:
context: .
dockerfile: docker_settings/Dockerfile_node
container_name: weather_node
volumes:
- './:/www/local'
restart: always
ports:
- 8085:8080
working_dir: /www/local
networks:
- app-network
mailhog:
image: mailhog/mailhog
restart: unless-stopped
container_name: weather_mailhog
volumes:
- ./docker_settings/mailhog_data:/maildir
environment:
MH_STORAGE: maildir
MH_MAILDIR_PATH: /maildir
ports:
- "1025:1025"
- "8025:8025"
networks:
- app-network
networks:
app-network:
driver: bridge
web:
external: true
volumes:
mysql_data:
driver: local