-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
116 lines (114 loc) · 2.34 KB
/
docker-compose.yaml
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
x-restart-policy: &restart-policy
restart: unless-stopped
x-app: &app
<<: *restart-policy
build:
context: .
dockerfile: .docker/Dockerfile
target: dev
depends_on:
- database
- cache
- smtp
- queue
environment:
PHP_IDE_CONFIG: serverName=Accountable
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- "./:/app"
volumes:
database_data:
queue_data:
files_data:
services:
#
# main app
app:
<<: *app
hostname: app
ports:
- "9600:80"
#
# Worker
worker:
<<: *app
hostname: worker
environment:
SERVICE: 'worker'
WORKER: 'messenger:consume async -vv --time-limit=3600'
#
# Scheduler
scheduler:
<<: *app
hostname: scheduler
environment:
SERVICE: 'worker'
WORKER: 'messenger:consume scheduler_default -vv --time-limit=3600'
#
# Database
database:
<<: *restart-policy
hostname: database
image: mysql:8.0.32
platform: linux/x86_64
ports:
- "9601:3306"
volumes:
- "database_data:/var/lib/mysql"
environment:
- "MYSQL_ROOT_PASSWORD=toor"
- "MYSQL_DATABASE=accountable"
- "MYSQL_USER=accountable"
- "MYSQL_PASSWORD=aCc0un74Bl3"
#
# Cache
cache:
<<: *restart-policy
image: redis:5.0.3
hostname: cache
command: redis-server /usr/local/etc/redis/redis.conf
volumes:
- "./.docker/redis.conf:/usr/local/etc/redis/redis.conf"
cache-ui:
<<: *restart-policy
image: redis/redisinsight:latest
hostname: cache-ui
ports:
- "9602:5540"
#
# SMTP Mock Server
smtp:
<<: *restart-policy
image: mailhog/mailhog
hostname: smtp
ports:
- "9603:8025"
#
# Queue
queue:
<<: *restart-policy
image: rabbitmq:3.12.12-management-alpine
hostname: queue
environment:
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: admin
RABBITMQ_DEFAULT_VHOST: /
volumes:
- "queue_data:/var/lib/rabbitmq/mnesia/"
ports:
- "9604:15672"
#
# S3 File Server
files:
<<: *restart-policy
image: quay.io/minio/minio:RELEASE.2024-01-05T22-17-24Z
hostname: files
command: "server /data --console-address :9001"
environment:
- "MINIO_ROOT_USER=root"
- "MINIO_ROOT_PASSWORD=toorToor"
volumes:
- "files_data:/data"
ports:
- "9605:9001"