Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
65 lines (62 loc) · 1.81 KB
/
Copy pathdocker-compose.yml
File metadata and controls
65 lines (62 loc) · 1.81 KB
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
services:
mysql:
image: mysql:8.4
container_name: gos-mysql
restart: unless-stopped
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_DATABASE: gos_release
MYSQL_USER: gos
MYSQL_PASSWORD: ${GOS_MYSQL_PASSWORD:?set GOS_MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${GOS_MYSQL_ROOT_PASSWORD:?set GOS_MYSQL_ROOT_PASSWORD}
TZ: Asia/Shanghai
ports:
- "3306:3306"
volumes:
- gos_mysql_data:/var/lib/mysql
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -p\"$${MYSQL_ROOT_PASSWORD}\""]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
backend:
build:
context: .
dockerfile: Dockerfile
container_name: gos-backend
restart: unless-stopped
depends_on:
mysql:
condition: service_healthy
ports:
- "8081:8081"
environment:
GOS_ENVIRONMENT: docker
GOS_DB_DRIVER: mysql
GOS_MYSQL_DSN: "gos:${GOS_MYSQL_PASSWORD:?set GOS_MYSQL_PASSWORD}@tcp(mysql:3306)/gos_release?charset=utf8mb4&parseTime=true&loc=UTC"
GOS_AUTH_ADMIN_PASSWORD: ${GOS_AUTH_ADMIN_PASSWORD:?set GOS_AUTH_ADMIN_PASSWORD}
GOS_SECURITY_ENCRYPTION_KEY: ${GOS_SECURITY_ENCRYPTION_KEY:?set GOS_SECURITY_ENCRYPTION_KEY}
volumes:
- ./configs/config.docker.json:/app/configs/config.docker.json:ro
healthcheck:
test: ["CMD", "curl", "-fsS", "http://127.0.0.1:8081/healthz"]
interval: 10s
timeout: 5s
retries: 10
start_period: 20s
frontend:
build:
context: .
dockerfile: frontend/Dockerfile
container_name: gos-frontend
restart: unless-stopped
depends_on:
backend:
condition: service_healthy
ports:
- "5174:80"
volumes:
gos_mysql_data: