Bromeo777 commited on
Commit
9d203db
·
unverified ·
1 Parent(s): 1b6eeda

Create docker-compose.yml

Browse files
Files changed (1) hide show
  1. docker-compose.yml +128 -0
docker-compose.yml ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # RM Research Assistant - Docker Compose Configuration
2
+ # Development and production orchestration
3
+
4
+ version: '3.8'
5
+
6
+ services:
7
+ # ----------------------------------------------------------------------
8
+ # MAIN APPLICATION
9
+ # ----------------------------------------------------------------------
10
+ api:
11
+ build: .
12
+ container_name: rm-research-api
13
+ ports:
14
+ - "8000:8000"
15
+ environment:
16
+ - PYTHONPATH=/app
17
+ - DEBUG=false
18
+ - LOG_LEVEL=INFO
19
+ env_file:
20
+ - .env
21
+ depends_on:
22
+ - redis
23
+ - milvus
24
+ restart: unless-stopped
25
+ networks:
26
+ - rm-network
27
+ volumes:
28
+ - ./logs:/app/logs
29
+ - ./data:/app/data
30
+
31
+ # ----------------------------------------------------------------------
32
+ # REDIS (Cache & Task Queue)
33
+ # ----------------------------------------------------------------------
34
+ redis:
35
+ image: redis:7-alpine
36
+ container_name: rm-research-redis
37
+ ports:
38
+ - "6379:6379"
39
+ command: redis-server --appendonly yes
40
+ volumes:
41
+ - redis_data:/data
42
+ restart: unless-stopped
43
+ networks:
44
+ - rm-network
45
+
46
+ # ----------------------------------------------------------------------
47
+ # MILVUS VECTOR DATABASE
48
+ # ----------------------------------------------------------------------
49
+ etcd:
50
+ container_name: milvus-etcd
51
+ image: quay.io/coreos/etcd:v3.5.5
52
+ environment:
53
+ - ETCD_AUTO_COMPACTION_MODE=revision
54
+ - ETCD_AUTO_COMPACTION_RETENTION=1000
55
+ - ETCD_QUOTA_BACKEND_BYTES=4294967296
56
+ - ETCD_SNAPSHOT_COUNT=50000
57
+ volumes:
58
+ - etcd_data:/etcd
59
+ command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
60
+ networks:
61
+ - rm-network
62
+
63
+ minio:
64
+ container_name: milvus-minio
65
+ image: minio/minio:RELEASE.2023-03-20T20-16-18Z
66
+ environment:
67
+ MINIO_ACCESS_KEY: minioadmin
68
+ MINIO_SECRET_KEY: minioadmin
69
+ ports:
70
+ - "9001:9001"
71
+ - "9000:9000"
72
+ volumes:
73
+ - minio_data:/data
74
+ command: minio server /data --console-address ":9001"
75
+ networks:
76
+ - rm-network
77
+
78
+ milvus:
79
+ container_name: milvus-standalone
80
+ image: milvusdb/milvus:v2.3.0
81
+ command: ["milvus", "run", "standalone"]
82
+ environment:
83
+ ETCD_ENDPOINTS: etcd:2379
84
+ MINIO_ADDRESS: minio:9000
85
+ volumes:
86
+ - milvus_data:/var/lib/milvus
87
+ ports:
88
+ - "19530:19530"
89
+ - "9091:9091"
90
+ depends_on:
91
+ - etcd
92
+ - minio
93
+ networks:
94
+ - rm-network
95
+
96
+ # ----------------------------------------------------------------------
97
+ # NGINX (Reverse Proxy)
98
+ # ----------------------------------------------------------------------
99
+ nginx:
100
+ image: nginx:alpine
101
+ container_name: rm-research-nginx
102
+ ports:
103
+ - "80:80"
104
+ - "443:443"
105
+ volumes:
106
+ - ./nginx.conf:/etc/nginx/nginx.conf:ro
107
+ - ./ssl:/etc/nginx/ssl:ro
108
+ depends_on:
109
+ - api
110
+ restart: unless-stopped
111
+ networks:
112
+ - rm-network
113
+
114
+ # ----------------------------------------------------------------------
115
+ # NETWORKS
116
+ # ----------------------------------------------------------------------
117
+ networks:
118
+ rm-network:
119
+ driver: bridge
120
+
121
+ # ----------------------------------------------------------------------
122
+ # VOLUMES
123
+ # ----------------------------------------------------------------------
124
+ volumes:
125
+ redis_data:
126
+ etcd_data:
127
+ minio_data:
128
+ milvus_data: