-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
130 lines (123 loc) · 2.49 KB
/
docker-compose.dev.yml
File metadata and controls
130 lines (123 loc) · 2.49 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
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
126
127
128
129
130
services:
nginx-dev:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx.dev.conf:/etc/nginx/nginx.conf:ro
depends_on:
- frontend
- backend
- minio
networks:
- app_network
healthcheck:
test: ["CMD", "nginx", "-t"]
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
backend:
build:
context: ./backend
dockerfile: Dockerfile.dev
ports:
- "8000:8000"
env_file:
- .env
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
- DEBUG=1
- PYTHONUNBUFFERED=1
volumes:
- ./backend:/app
- ./uploads:/app/uploads
networks:
- app_network
depends_on:
- db
- chromadb
- minio
restart: on-failure
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
frontend:
build:
context: ./frontend
dockerfile: Dockerfile.dev
environment:
- WATCHPACK_POLLING=true
- CHOKIDAR_USEPOLLING=true
- NODE_ENV=development
- NEXT_PUBLIC_API_URL=http://localhost/api
ports:
- "3000:3000"
volumes:
- ./frontend:/app
- /app/node_modules
env_file:
- .env
networks:
- app_network
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
db:
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=ragwebui
- MYSQL_USER=ragwebui
- MYSQL_PASSWORD=ragwebui
- TZ=Asia/Shanghai
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
networks:
- app_network
chromadb:
image: chromadb/chroma:latest
ports:
- "8001:8000"
volumes:
- chroma_data:/chroma/chroma
networks:
- app_network
minio:
image: minio/minio:latest
ports:
- "9000:9000"
- "9001:9001"
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
volumes:
- minio_data:/data
command: server --console-address ":9001" /data
networks:
- app_network
volumes:
mysql_data:
chroma_data:
minio_data:
networks:
app_network:
driver: bridge