-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
90 lines (86 loc) · 2.33 KB
/
docker-compose.yml
File metadata and controls
90 lines (86 loc) · 2.33 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
services:
# Nuxt.js Application
app:
build:
context: .
dockerfile: Dockerfile
container_name: agent-ai-app
restart: unless-stopped
ports:
- "127.0.0.1:3100:3000" # ADD THIS LINE - exposes app on host port 3100
environment:
- NODE_ENV=production
- MONGODB_URI=${MONGODB_URI}
- QDRANT_URL=http://qdrant:6333
- JWT_SECRET=${JWT_SECRET}
- APP_NAME=${APP_NAME:-Agent AI Server}
- LOG_LEVEL=${LOG_LEVEL:-info}
- CHATWOOT_URL=${CHATWOOT_URL:-}
- CHATWOOT_API_TOKEN=${CHATWOOT_API_TOKEN:-}
- NODE_OPTIONS=--max-old-space-size=3072
depends_on:
- mongodb
- qdrant
volumes:
- huggingface_cache:/app/.output/server/node_modules/@xenova/transformers/.cache
networks:
- app-network
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
# MongoDB Database
mongodb:
image: mongo:7.0
container_name: agent-ai-mongodb
restart: unless-stopped
user: "999:999"
security_opt:
- no-new-privileges:true
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USER}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
- MONGO_INITDB_DATABASE=agent-ai-server
volumes:
- mongodb_data:/data/db
- ./docker/mongodb/init:/docker-entrypoint-initdb.d:ro
networks:
- app-network
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
interval: 30s
timeout: 10s
retries: 3
# Qdrant Vector Database Service
qdrant:
image: qdrant/qdrant:latest
container_name: agent-ai-qdrant
security_opt:
- no-new-privileges:true
volumes:
- qdrant_data:/qdrant/storage
environment:
- QDRANT__SERVICE__HTTP_PORT=6333
- QDRANT__SERVICE__GRPC_PORT=6334
- QDRANT__LOG_LEVEL=INFO
restart: unless-stopped
networks:
- app-network
healthcheck:
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:6333/health || exit 1"]
interval: 30s
timeout: 10s
retries: 3
networks:
app-network:
driver: bridge
volumes:
qdrant_data:
driver: local
mongodb_data:
driver: local
nginx_logs:
driver: local
huggingface_cache:
driver: local