-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
82 lines (79 loc) · 2.09 KB
/
Copy pathdocker-compose.yml
File metadata and controls
82 lines (79 loc) · 2.09 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
version: '3.8'
services:
backend:
build:
context: ./backend
dockerfile: Dockerfile.backend
ports:
- "8000:8000"
env_file:
- ./backend/.env
volumes:
- ./backend:/app
environment:
- PYTHONUNBUFFERED=1
- QDRANT_URL=http://qdrant:6333
networks:
- rag-app-network
qdrant:
image: "qdrant/qdrant:v1.12.0"
ports:
- "6340:6333"
- "6341:6334"
volumes:
- ./backend/data/qdrant_storage:/qdrant/storage
environment:
QDRANT__STORAGE__ON_DISK_PAYLOAD: 'true'
networks:
- rag-app-network
healthcheck:
test: ["CMD", "bash", "-c", "exec 3<>/dev/tcp/localhost/6333 && echo -e 'GET /healthz HTTP/1.1\r\nHost: localhost\r\n\r\n' >&3 && cat <&3 | grep -q '200 OK'"]
interval: 30s
timeout: 180s
retries: 3
start_period: 40s
frontend:
build:
context: ./frontend
dockerfile: Dockerfile.frontend.dev
ports:
- "3000:3000"
env_file:
- ./frontend/.env
environment:
- NODE_ENV=development
- NEXT_PUBLIC_BACKEND_API_URL=http://localhost:8000
- WATCHPACK_POLLING=true # Enable polling for hot reload in Docker
volumes:
- ./frontend:/app # Mount the source code
- /app/node_modules # Preserve node_modules in container
- /app/.next # Preserve Next.js build cache
networks:
- rag-app-network
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000"]
interval: 30s
timeout: 10s
retries: 3
mysql:
image: mysql:8.0
ports:
- "3306:3306"
env_file:
- ./backend/.env
environment:
- MYSQL_USER=user
- MYSQL_ROOT_PASSWORD=root
- MYSQL_PASSWORD=1
- MYSQL_HOST=mysql
- MYSQL_PORT=3306
- MYSQL_DB=ragagent
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
volumes:
- ./backend/data/mysql_data:/var/lib/mysql
networks:
- rag-app-network
command: --default-authentication-plugin=mysql_native_password
networks:
rag-app-network:
driver: bridge