-
Notifications
You must be signed in to change notification settings - Fork 29
/
compose.yaml
125 lines (118 loc) · 2.85 KB
/
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
117
118
119
120
121
122
123
124
125
services:
backend:
build: ./
restart: always
environment:
TRAQ_ALLOWSIGNUP: true
TRAQ_ORIGIN: http://localhost:3000
TRAQ_MARIADB_HOST: mysql
TRAQ_ES_URL: http://es:9200
TRAQ_PPROF: "true"
TRAQ_STORAGE_TYPE: composite
TRAQ_STORAGE_S3_BUCKET: traq
TRAQ_STORAGE_S3_REGION: ap-northeast-1
TRAQ_STORAGE_S3_ENDPOINT: http://s3:9000
TRAQ_STORAGE_S3_ACCESSKEY: ROOT
TRAQ_STORAGE_S3_SECRETKEY: PASSWORD
TRAQ_STORAGE_S3_CACHEDIR: ./storage
TRAQ_STORAGE_COMPOSITE_REMOTE: s3
entrypoint: ./traQ serve --dev --skip-init-emojis
expose:
- "80"
- "6060"
ports:
- "6060:6060"
depends_on:
mysql:
condition: service_healthy
es:
condition: service_healthy
volumes:
- app:/app/storage
frontend:
image: caddy:2.8.4-alpine
restart: always
expose:
- "80"
ports:
- "3000:80"
depends_on:
- backend
volumes:
- ./dev/Caddyfile:/etc/caddy/Caddyfile:ro
- ./dev/frontend:/usr/share/caddy:ro
mysql:
image: mariadb:10.11.9
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: traq
# conohaのDBのデフォルトCharsetはutf8
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
expose:
- "3306"
ports:
- "3002:3306"
volumes:
- mysql:/var/lib/mysql
healthcheck:
test: mysql --user=root --password=password --execute "SHOW DATABASES;"
interval: 1s
timeout: 10s
retries: 60
es:
image: ghcr.io/traptitech/es-with-sudachi:8.8.1-3.1.0
restart: always
environment:
discovery.type: single-node
xpack.security.http.ssl.enabled: false
ELASTIC_PASSWORD: password
ports:
- "9200:9200"
- "9300:9300"
volumes:
- ./dev/es_jvm.options:/usr/share/elasticsearch/config/jvm.options.d/es_jvm.options
- es:/usr/share/elasticsearch/data
healthcheck:
test: curl -s http://localhost:9200 >/dev/null || exit 1
interval: 1s
timeout: 10s
retries: 60
adminer:
image: adminer:4.8.1
restart: always
environment:
ADMINER_DEFAULT_SERVER: mysql
ADMINER_DESIGN: nette
expose:
- "8080"
ports:
- "3001:8080"
botdebugger:
image: golang:1.23.3-alpine
restart: always
volumes:
- ./dev/bin:/app
command: go run /app/bot_debugger.go -p 80
s3:
image: minio/minio:latest
# 9000-API, 9001-Web
ports:
- 9000:9000
- 9001:9001
networks:
default:
aliases:
- traq.s3 # {bucket}.s3
environment:
MINIO_ROOT_USER: ROOT
MINIO_ROOT_PASSWORD: PASSWORD
MINIO_DOMAIN: s3
volumes:
- s3:/data
command: minio server /data --console-address :9001
volumes:
app:
mysql:
es:
s3: