-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
126 lines (120 loc) · 3.66 KB
/
Copy pathdocker-compose.yml
File metadata and controls
126 lines (120 loc) · 3.66 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
name: Drift
services:
frontend:
container_name: drift-frontend
build:
context: .
dockerfile: client/Dockerfile
args:
VITE_API_BASE_URL: /api/v1
VITE_DRIFT_MODEL_LABEL: ${VITE_DRIFT_MODEL_LABEL:-Qwen2.5-7B + DriftLedger LoRA (GGUF Q4_K_M)}
depends_on:
backend:
condition: service_started
ports:
- "5173:80"
restart: unless-stopped
backend:
container_name: drift-backend
build:
context: .
dockerfile: server-go/Dockerfile
environment:
APP_ENV: production
PORT: 5000
MONGO_URI: mongodb://db:27017
MONGO_DATABASE: driftledger
JWT_SECRET: ${JWT_SECRET:-replace_with_strong_secret}
JWT_EXPIRES_IN_HOURS: ${JWT_EXPIRES_IN_HOURS:-168}
CLIENT_URL: http://localhost:5173
DRIFT_INFERENCE_ENABLED: "true"
DRIFT_INFERENCE_URL: http://inference:8000
DRIFT_INFERENCE_TIMEOUT_MS: ${DRIFT_INFERENCE_TIMEOUT_MS:-65000}
DRIFT_RELEVANCE_THRESHOLD: ${DRIFT_RELEVANCE_THRESHOLD:-0.25}
DRIFT_MAX_ANALYZED_REQUIREMENTS: ${DRIFT_MAX_ANALYZED_REQUIREMENTS:-3}
FIREBASE_STORAGE_ENABLED: ${FIREBASE_STORAGE_ENABLED:-false}
FIREBASE_STORAGE_BUCKET: ${FIREBASE_STORAGE_BUCKET:-}
GOOGLE_APPLICATION_CREDENTIALS: ${GOOGLE_APPLICATION_CREDENTIALS:-}
MAX_UPLOAD_SIZE_MB: ${MAX_UPLOAD_SIZE_MB:-10}
DRIFT_EVALUATION_REPORT_DIR: /app/reports/evaluation
volumes:
- ./reports:/app/reports
depends_on:
db:
condition: service_started
inference:
condition: service_started
llama:
condition: service_started
ports:
- "5000:5000"
restart: unless-stopped
inference:
container_name: drift-inference
build:
context: .
dockerfile: services/inference/Dockerfile
environment:
DRIFT_MODEL_MODE: local
DRIFT_LOCAL_ENGINE: ${DRIFT_LOCAL_ENGINE:-gguf}
DRIFT_ADAPTER_ZIP_PATH: /app/models/adapters/DriftLedger_v5_qwen2.5_7b_LoRA.zip
DRIFT_ADAPTER_DIR: /app/models/adapters/DriftLedger_v5_qwen2.5_7b_LoRA
DRIFT_GGUF_MODEL_PATH: ${DRIFT_GGUF_MODEL_PATH:-/app/models/gguf/DriftLedger-Qwen2.5-7B-Q4_K_M.gguf}
DRIFT_LLAMA_SERVER_URL: http://llama:8080
DRIFT_LLAMA_CTX_SIZE: ${DRIFT_LLAMA_CTX_SIZE:-768}
DRIFT_LLAMA_GPU_LAYERS: ${DRIFT_LLAMA_GPU_LAYERS:-0}
DRIFT_LLAMA_THREADS: ${DRIFT_LLAMA_THREADS:-6}
DRIFT_LLAMA_MAX_TOKENS: ${DRIFT_LLAMA_MAX_TOKENS:-120}
DRIFT_MAX_NEW_TOKENS: ${DRIFT_MAX_NEW_TOKENS:-224}
DRIFT_ALLOW_CPU: ${DRIFT_ALLOW_CPU:-false}
volumes:
- ./models:/app/models
ports:
- "127.0.0.1:8000:8000"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
llama:
image: ghcr.io/ggml-org/llama.cpp:full-cuda
container_name: drift-llama
command:
- --server
- --model
- ${DRIFT_GGUF_MODEL_PATH:-/app/models/gguf/DriftLedger-Qwen2.5-7B-Q4_K_M.gguf}
- --host
- 0.0.0.0
- --port
- "8080"
- --ctx-size
- ${DRIFT_LLAMA_CTX_SIZE:-768}
- --n-gpu-layers
- ${DRIFT_LLAMA_GPU_LAYERS:-0}
- --threads
- ${DRIFT_LLAMA_THREADS:-6}
volumes:
- ./models:/app/models
ports:
- "127.0.0.1:8080:8080"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
db:
image: mongo:7
container_name: drift-db
volumes:
- mongo-data:/data/db
ports:
- "127.0.0.1:27017:27017"
restart: unless-stopped
volumes:
mongo-data: