This repository has been archived by the owner on May 14, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
117 lines (110 loc) · 2.93 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
version: "3.6"
services:
database:
image: mysql:5.7
restart: always
container_name: 0xffff-mysql
expose:
- 3306
environment:
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASS}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS}
volumes:
- ./data/db-data:/var/lib/mysql
- ./services/mysql/ngram.cnf:/etc/mysql/conf.d/ngram.cnf
nginx:
image: 0xffff-nginx:latest
build: ./services/nginx
container_name: 0xffff-nginx
restart: always
ports:
- ${NGINX_HTTP_PORT:-8080}:80
- ${NGINX_HTTPS_PORT:-8443}:443
volumes:
- ./logs:/var/log/nginx
- ./services/nginx/nginx-conf/docker-nginx.conf:/etc/nginx/nginx.conf:ro
- ./services/nginx/nginx-conf/snippets:/etc/nginx/snippets:ro
- ./data/app/assets:/wwwroot/public/assets:ro
- ./data/nginx-public:/wwwroot/public:ro
environment:
TZ: 'Asia/Shanghai'
extra_hosts:
- "localhost:127.0.0.1"
healthcheck:
test: ["CMD-SHELL", "wget -q --spider --proxy off http://localhost/get-health || exit 1"]
interval: 5s
retries: 12
logging:
driver: "json-file"
options:
max-size: "100m"
php:
image: zgq354/0xffff-flarum:latest
# build: ./services/php-fpm
container_name: 0xffff-app
depends_on:
- redis
restart: always
expose:
- 9000
volumes:
- ./logs:/var/log
- ./data/app/storage:/wwwroot/storage
- ./data/app/assets:/wwwroot/public/assets
- ./data/app/config.php:/wwwroot/config.php
healthcheck:
test: ["CMD-SHELL", "pidof php-fpm"]
interval: 5s
retries: 12
logging:
driver: "json-file"
options:
max-size: "100m"
# https://laravel-news.com/laravel-scheduler-queue-docker
scheduler:
image: zgq354/0xffff-flarum:latest
container_name: 0xffff-scheduler
depends_on:
- php
restart: always
volumes:
- ./logs:/var/log
- ./data/app/storage:/wwwroot/storage
- ./data/app/assets:/wwwroot/public/assets
- ./data/app/config.php:/wwwroot/config.php
environment:
CONTAINER_ROLE: scheduler
# queue worker
queue_worker:
image: zgq354/0xffff-flarum:latest
container_name: 0xffff-queue-worker
depends_on:
- php
restart: always
volumes:
- ./logs:/var/log
- ./data/app/storage:/wwwroot/storage
- ./data/app/assets:/wwwroot/public/assets
- ./data/app/config.php:/wwwroot/config.php
environment:
CONTAINER_ROLE: queue
# redis for queue and session
redis:
image: redis:6.2.5
container_name: 0xffff-redis
volumes:
- ./data/redis-data:/data
restart: always
expose:
- 6379
sonic:
image: valeriansaliou/sonic:v1.3.0
container_name: 0xffff-sonic
volumes:
- ./data/sonic-store:/var/lib/sonic/store
- ./services/sonic/config.cfg:/etc/sonic.cfg
restart: always
expose:
- 1491