-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
125 lines (117 loc) · 3.5 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
version: "3.8"
services:
# website app
app:
build:
context: .
dockerfile: ./src/Dockerfile
target: app
command: sh -c "./chmod +x /usr/src/wait-for-it.sh && /usr/src/wait-for-it.sh mysql:3306 -t 30 && php /usr/src/artisan migrate && php-fpm"
volumes:
- ./src/app:/usr/src/app
- ./src/config:/usr/src/config
- ./src/database:/usr/src/database
- ./src/routes:/usr/src/routes
- ./src/storage/factories:/usr/src/storage/factories
- ./src/storage/migrations:/usr/src/storage/migrations
- ./src/storage/seeders:/usr/src/storage/seeders
- ./src/tests:/usr/src/tests
- ./src/public:/usr/src/public
- ./src/composer.json:/usr/src/composer.json
- ./src/composer.lock:/usr/src/composer.lock
# - ./src/.env:/usr/src/.env
- ./deployment/config/php-fpm/php-dev.ini:/usr/local/etc/php/conf.d/php.ini
- app-tntsearch-db:/usr/src/storage/tntdb/
restart: unless-stopped
environment:
DB_HOST: mysql
DB_PASSWORD: ${DB_PASSWORD}
APP_DEBUG: ${APP_DEBUG}
APP_URL: ${APP_URL}
APP_ENV: ${APP_ENV}
MAIL_MAILER: ${MAIL_MAILER}
MAIL_HOST: ${MAIL_HOST}
MAIL_PORT: ${MAIL_PORT}
MAIL_USERNAME: ${MAIL_USERNAME}
MAIL_PASSWORD: ${MAIL_PASSWORD}
MAIL_ENCRYPTION: ${MAIL_ENCRYPTION}
MAIL_FROM_ADDRESS: ${MAIL_FROM_ADDRESS}
MAIL_FROM_NAME: ${MAIL_FROM_NAME}
MAIL_VERIFY_PEER: ${MAIL_VERIFY_PEER}
SESSION_DOMAIN: ${SESSION_DOMAIN}
SESSION_DRIVER: ${SESSION_DRIVER}
depends_on:
- mysql
# nginx for php
nginx:
build:
context: .
dockerfile: ./Dockerfile.nginx
restart: unless-stopped
ports:
- "127.0.0.1:3838:80"
volumes:
- ./src:/usr/src
- ./deployment/config/nginx.conf:/etc/nginx/nginx.conf
depends_on:
- app
# mysql
mysql:
build:
args:
password: ${DB_PASSWORD}
context: .
dockerfile: ./Dockerfile.mysql
restart: unless-stopped
volumes:
- mysql-data:/var/lib/mysql
ports:
- "33065:3306"
environment:
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
# redis:
# image: redis:latest
# volumes:
# - webapp-redis-data:/data
scheduler:
build:
context: .
dockerfile: ./src/Dockerfile
target: scheduler
restart: unless-stopped
volumes:
- ./src/app:/usr/src/app
- ./src/config:/usr/src/config
- ./src/database:/usr/src/database
- ./src/routes:/usr/src/routes
- ./src/storage/factories:/usr/src/storage/factories
- ./src/storage/migrations:/usr/src/storage/migrations
- ./src/storage/seeders:/usr/src/storage/seeders
- ./src/tests:/usr/src/tests
- ./src/public:/usr/src/public
- ./src/composer.json:/usr/src/composer.json
- ./src/composer.lock:/usr/src/composer.lock
- app-tntsearch-db:/usr/src/storage/tntdb/
environment:
DB_HOST: mysql
DB_PASSWORD: ${DB_PASSWORD}
APP_DEBUG: ${APP_DEBUG}
APP_URL: ${APP_URL}
APP_ENV: ${APP_ENV}
MAIL_MAILER: ${MAIL_MAILER}
MAIL_HOST: ${MAIL_HOST}
MAIL_PORT: ${MAIL_PORT}
MAIL_USERNAME: ${MAIL_USERNAME}
MAIL_PASSWORD: ${MAIL_PASSWORD}
MAIL_ENCRYPTION: ${MAIL_ENCRYPTION}
MAIL_FROM_ADDRESS: ${MAIL_FROM_ADDRESS}
MAIL_FROM_NAME: ${MAIL_FROM_NAME}
MAIL_VERIFY_PEER: ${MAIL_VERIFY_PEER}
SESSION_DOMAIN: ${SESSION_DOMAIN}
SESSION_DRIVER: ${SESSION_DRIVER}
depends_on:
- mysql
volumes:
mysql-data:
app-tntsearch-db:
# webapp-redis-data: