-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose-gpu.yml
More file actions
72 lines (67 loc) · 1.73 KB
/
docker-compose-gpu.yml
File metadata and controls
72 lines (67 loc) · 1.73 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
services:
neo4j:
image: neo4j:5.26.2-community-ubi9
ports:
- "7474:7474" # Port for the Neo4j browser
- "7687:7687" # Port for the Bolt protocol
environment:
- NEO4J_AUTH=none
- NEO4JLABS_PLUGINS=["apoc"]
- NEO4J_dbms_security_procedures_whitelist=apoc.*
- NEO4J_dbms_security_procedures_unrestricted=apoc.*
volumes:
- neo4j_data:/data
ollama:
image: ollama/ollama
ports:
- "11434:11434" # Maps the port exposed by Ollama
env_file:
- key.env
volumes:
- ollama_data:/root/.ollama
entrypoint: ["/bin/bash", "-c", "/bin/ollama serve & SERVE_PID=$! && sleep 5 && ollama pull phi3.5:latest && wait $SERVE_PID"]
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
backend:
build: .
command: uvicorn backend:backend_app --host 0.0.0.0 --port 8001
ports:
- "8001:8001"
env_file:
- key.env
depends_on:
- neo4j
- ollama
volumes:
- ./data:/app/data # Volume for persistent data
- ./assets:/app/assets # Volume for assets
controller:
build: .
command: uvicorn controller:app --host 0.0.0.0 --port 8003
ports:
- "8003:8003"
env_file:
- key.env
depends_on:
- backend # Controller starts after the backend
dashboard:
build: .
command: streamlit run Dashboard/dashboard.py --server.runOnSave=true --server.address=0.0.0.0
ports:
- "8501:8501"
env_file:
- key.env
depends_on:
- controller # Dashboard starts after the controller
volumes:
- ./assets:/app/assets
volumes:
neo4j_data:
data:
assets:
ollama_data: