overmind-mcp 2.0.9 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +0 -0
- package/install-overmind-unix.sh +412 -250
- package/install-overmind-windows.bat +407 -257
- package/package.json +129 -131
- package/scripts/docker-manager.mjs +0 -0
- package/scripts/setup.mjs +0 -0
- package/scripts/uninstall.mjs +0 -0
package/install-overmind-unix.sh
CHANGED
|
@@ -1,250 +1,412 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
#
|
|
3
|
-
# OVERMIND-MCP - INSTALLATION
|
|
4
|
-
#
|
|
5
|
-
# Ce script
|
|
6
|
-
# -
|
|
7
|
-
# -
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
echo -e "${CYAN}
|
|
27
|
-
echo -e "${CYAN}
|
|
28
|
-
echo -e "${CYAN}
|
|
29
|
-
echo
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
echo
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
echo ""
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
echo
|
|
59
|
-
|
|
60
|
-
echo -e "${
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
echo -e "${
|
|
64
|
-
npm
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
echo
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
echo ""
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
echo
|
|
93
|
-
|
|
94
|
-
echo -e "${
|
|
95
|
-
echo ""
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
#
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
echo ""
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
echo -e "${
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
echo
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
echo ""
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
#
|
|
159
|
-
|
|
160
|
-
echo -e "${
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
#
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
echo -e "${
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
#
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
echo -e "${
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# ============================================================
|
|
3
|
+
# OVERMIND-MCP - INSTALLATION INTELLIGENTE Linux/macOS
|
|
4
|
+
# ============================================================
|
|
5
|
+
# Ce script détecte et utilise l'infrastructure existante
|
|
6
|
+
# - PostgreSQL existant ? Utilise-le !
|
|
7
|
+
# - Ports occupés ? Adapte la configuration !
|
|
8
|
+
# ============================================================
|
|
9
|
+
|
|
10
|
+
set -e
|
|
11
|
+
|
|
12
|
+
# Couleurs
|
|
13
|
+
RED='\033[0;31m'
|
|
14
|
+
GREEN='\033[0;32m'
|
|
15
|
+
YELLOW='\033[1;33m'
|
|
16
|
+
BLUE='\033[0;34m'
|
|
17
|
+
MAGENTA='\033[0;35m'
|
|
18
|
+
CYAN='\033[0;36m'
|
|
19
|
+
WHITE='\033[1;37m'
|
|
20
|
+
NC='\033[0m'
|
|
21
|
+
|
|
22
|
+
clear
|
|
23
|
+
echo -e "${CYAN}***************************************************************${NC}"
|
|
24
|
+
echo -e "${CYAN}* *${NC}"
|
|
25
|
+
echo -e "${MAGENTA} 🚀 OVERMIND-MCP - INSTALLATION INTELLIGENTE ${NC}"
|
|
26
|
+
echo -e "${CYAN}* Linux/macOS + Docker Desktop *${NC}"
|
|
27
|
+
echo -e "${CYAN}* *${NC}"
|
|
28
|
+
echo -e "${CYAN}***************************************************************${NC}"
|
|
29
|
+
echo ""
|
|
30
|
+
|
|
31
|
+
# ============================================================
|
|
32
|
+
# STEP 1: Vérifier Node.js et NPM
|
|
33
|
+
# ============================================================
|
|
34
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
35
|
+
echo -e "${CYAN}[ STEP 1/8 ] VERIFICATION NODE.JS${NC}"
|
|
36
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
37
|
+
echo ""
|
|
38
|
+
|
|
39
|
+
if ! command -v node &> /dev/null; then
|
|
40
|
+
echo -e "${RED}[ERREUR] Node.js non trouvé${NC}"
|
|
41
|
+
echo -e "${YELLOW}Linux: curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -${NC}"
|
|
42
|
+
echo -e "${YELLOW}macOS: brew install node${NC}"
|
|
43
|
+
exit 1
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
echo -e "${GREEN}[OK] Node.js détecté:${NC}"
|
|
47
|
+
node --version
|
|
48
|
+
echo -e "${GREEN}[OK] NPM détecté:${NC}"
|
|
49
|
+
npm --version
|
|
50
|
+
echo ""
|
|
51
|
+
|
|
52
|
+
# ============================================================
|
|
53
|
+
# STEP 2: Installer OverMind-MCP
|
|
54
|
+
# ============================================================
|
|
55
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
56
|
+
echo -e "${CYAN}[ STEP 2/8 ] INSTALLATION OVERMIND-MCP${NC}"
|
|
57
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
58
|
+
echo ""
|
|
59
|
+
|
|
60
|
+
echo -e "${YELLOW}[INFO] Installation d'overmind-mcp...${NC}"
|
|
61
|
+
npm install -g overmind-mcp@latest
|
|
62
|
+
|
|
63
|
+
echo -e "${GREEN}[OK] overmind-mcp installé:${NC}"
|
|
64
|
+
npm view overmind-mcp version
|
|
65
|
+
echo ""
|
|
66
|
+
|
|
67
|
+
# ============================================================
|
|
68
|
+
# STEP 3: Vérifier Docker
|
|
69
|
+
# ============================================================
|
|
70
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
71
|
+
echo -e "${CYAN}[ STEP 3/8 ] VERIFICATION DOCKER${NC}"
|
|
72
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
73
|
+
echo ""
|
|
74
|
+
|
|
75
|
+
if ! command -v docker &> /dev/null; then
|
|
76
|
+
echo -e "${RED}[ERREUR] Docker non trouvé${NC}"
|
|
77
|
+
echo -e "${YELLOW}Linux: https://docs.docker.com/engine/install/${NC}"
|
|
78
|
+
echo -e "${YELLOW}macOS: https://www.docker.com/products/docker-desktop/${NC}"
|
|
79
|
+
exit 1
|
|
80
|
+
fi
|
|
81
|
+
|
|
82
|
+
echo -e "${GREEN}[OK] Docker détecté:${NC}"
|
|
83
|
+
docker --version
|
|
84
|
+
echo ""
|
|
85
|
+
|
|
86
|
+
# ============================================================
|
|
87
|
+
# STEP 4: Analyse infrastructure existante
|
|
88
|
+
# ============================================================
|
|
89
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
90
|
+
echo -e "${CYAN}[ STEP 4/8 ] ANALYSE INFRASTRUCTURE${NC}"
|
|
91
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
92
|
+
echo ""
|
|
93
|
+
|
|
94
|
+
echo -e "${YELLOW}[INFO] Détection des services existants...${NC}"
|
|
95
|
+
echo ""
|
|
96
|
+
|
|
97
|
+
POSTGRES_EXISTS=0
|
|
98
|
+
POSTGRES_CONTAINER=""
|
|
99
|
+
USE_EXTERNAL_POSTGRES=0
|
|
100
|
+
|
|
101
|
+
# Vérifier PostgreSQL sur port 5432
|
|
102
|
+
if docker ps -a --filter "publish=5432" --format "{{.Names}}" | grep -qi "postgres"; then
|
|
103
|
+
POSTGRES_CONTAINER=$(docker ps -a --filter "publish=5432" --format "{{.Names}}" | head -1)
|
|
104
|
+
POSTGRES_EXISTS=1
|
|
105
|
+
USE_EXTERNAL_POSTGRES=1
|
|
106
|
+
echo -e "${GREEN}[OK] PostgreSQL existant détecté: ${POSTGRES_CONTAINER}${NC}"
|
|
107
|
+
else
|
|
108
|
+
echo -e "${YELLOW}[INFO] PostgreSQL non détecté - installation prévue${NC}"
|
|
109
|
+
fi
|
|
110
|
+
|
|
111
|
+
echo ""
|
|
112
|
+
echo -e "${YELLOW}[INFO] Vérification des ports...${NC}"
|
|
113
|
+
netstat -tuln 2>/dev/null | grep ":5432 " > /dev/null && echo -e "${YELLOW}[WARN] Port 5432 utilisé${NC}" || echo -e "${GREEN}[OK] Port 5432 libre${NC}"
|
|
114
|
+
netstat -tuln 2>/dev/null | grep ":5672 " > /dev/null && echo -e "${YELLOW}[WARN] Port 5672 utilisé${NC}" || echo -e "${GREEN}[OK] Port 5672 libre${NC}"
|
|
115
|
+
netstat -tuln 2>/dev/null | grep ":9090 " > /dev/null && echo -e "${YELLOW}[WARN] Port 9090 utilisé${NC}" || echo -e "${GREEN}[OK] Port 9090 libre${NC}"
|
|
116
|
+
netstat -tuln 2>/dev/null | grep ":3000 " > /dev/null && echo -e "${YELLOW}[WARN] Port 3000 utilisé${NC}" || echo -e "${GREEN}[OK] Port 3000 libre${NC}"
|
|
117
|
+
|
|
118
|
+
echo ""
|
|
119
|
+
|
|
120
|
+
# ============================================================
|
|
121
|
+
# STEP 5: PostgreSQL intelligent
|
|
122
|
+
# ============================================================
|
|
123
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
124
|
+
echo -e "${CYAN}[ STEP 5/8 ] POSTGRESQL INTELLIGENT${NC}"
|
|
125
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
126
|
+
echo ""
|
|
127
|
+
|
|
128
|
+
if [ "$USE_EXTERNAL_POSTGRES" -eq 1 ]; then
|
|
129
|
+
echo -e "${GREEN}[OK] Utilisation PostgreSQL existant: ${POSTGRES_CONTAINER}${NC}"
|
|
130
|
+
|
|
131
|
+
# Vérifier pgvector
|
|
132
|
+
if docker exec "${POSTGRES_CONTAINER}" psql -U postgres -c "SELECT extname FROM pg_extension WHERE extname = 'vector';" 2>/dev/null | grep -q vector; then
|
|
133
|
+
echo -e "${GREEN}[OK] pgvector détecté${NC}"
|
|
134
|
+
else
|
|
135
|
+
echo -e "${YELLOW}[WARN] pgvector non détecté${NC}"
|
|
136
|
+
echo ""
|
|
137
|
+
echo -e "${YELLOW}Pour installer pgvector manuellement :${NC}"
|
|
138
|
+
echo " docker exec ${POSTGRES_CONTAINER} psql -U postgres -c \"CREATE EXTENSION vector;\""
|
|
139
|
+
fi
|
|
140
|
+
else
|
|
141
|
+
echo -e "${YELLOW}[INFO] Installation PostgreSQL + pgvector...${NC}"
|
|
142
|
+
npx overmind-mcp install-dependencies
|
|
143
|
+
fi
|
|
144
|
+
|
|
145
|
+
echo ""
|
|
146
|
+
|
|
147
|
+
# ============================================================
|
|
148
|
+
# STEP 6: Configuration intelligente
|
|
149
|
+
# ============================================================
|
|
150
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
151
|
+
echo -e "${CYAN}[ STEP 6/8 ] CONFIGURATION ADAPTIVE${NC}"
|
|
152
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
153
|
+
echo ""
|
|
154
|
+
|
|
155
|
+
OVERMIND_DIR="$HOME/.overmind"
|
|
156
|
+
mkdir -p "$OVERMIND_DIR"
|
|
157
|
+
|
|
158
|
+
# Créer .env intelligent
|
|
159
|
+
if [ ! -f "$OVERMIND_DIR/.env" ]; then
|
|
160
|
+
echo -e "${YELLOW}[INFO] Création configuration .env...${NC}"
|
|
161
|
+
cat > "$OVERMIND_DIR/.env" << EOF
|
|
162
|
+
# OverMind-MCP Environment Configuration
|
|
163
|
+
# Généré par install-overmind-unix.sh
|
|
164
|
+
|
|
165
|
+
# PostgreSQL
|
|
166
|
+
POSTGRES_HOST=localhost
|
|
167
|
+
POSTGRES_PORT=5432
|
|
168
|
+
POSTGRES_USER=postgres
|
|
169
|
+
POSTGRES_PASSWORD=overmind_temp_password_change_me
|
|
170
|
+
POSTGRES_DB=overmind
|
|
171
|
+
|
|
172
|
+
# Infrastructure détectée
|
|
173
|
+
EOF
|
|
174
|
+
|
|
175
|
+
if [ "$USE_EXTERNAL_POSTGRES" -eq 1 ]; then
|
|
176
|
+
echo "POSTGRES_EXTERNAL=${POSTGRES_CONTAINER}" >> "$OVERMIND_DIR/.env"
|
|
177
|
+
fi
|
|
178
|
+
|
|
179
|
+
cat >> "$OVERMIND_DIR/.env" << EOF
|
|
180
|
+
|
|
181
|
+
# OpenTelemetry
|
|
182
|
+
OTEL_ENABLED=false
|
|
183
|
+
|
|
184
|
+
# Workspace
|
|
185
|
+
OVERMIND_WORKSPACE=$OVERMIND_DIR
|
|
186
|
+
EOF
|
|
187
|
+
echo -e "${GREEN}[OK] Configuration créée: ${OVERMIND_DIR}/.env${NC}"
|
|
188
|
+
fi
|
|
189
|
+
|
|
190
|
+
echo ""
|
|
191
|
+
|
|
192
|
+
# ============================================================
|
|
193
|
+
# STEP 7: Télécharger docker-compose
|
|
194
|
+
# ============================================================
|
|
195
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
196
|
+
echo -e "${CYAN}[ STEP 7/8 ] TÉLECHARGEMENT CONFIG${NC}"
|
|
197
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
198
|
+
echo ""
|
|
199
|
+
|
|
200
|
+
echo -e "${YELLOW}[INFO] Téléchargement docker-compose.yml...${NC}"
|
|
201
|
+
curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.yml -o "$OVERMIND_DIR/docker-compose.yml"
|
|
202
|
+
curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.exporters.yml -o "$OVERMIND_DIR/docker-compose.exporters.yml"
|
|
203
|
+
|
|
204
|
+
# Adapter docker-compose si PostgreSQL externe
|
|
205
|
+
if [ "$USE_EXTERNAL_POSTGRES" -eq 1 ]; then
|
|
206
|
+
echo -e "${YELLOW}[INFO] Adaptation docker-compose (PostgreSQL externe)...${NC}"
|
|
207
|
+
sed -i.bak 's/^ postgres:/# postgres:/' "$OVERMIND_DIR/docker-compose.yml"
|
|
208
|
+
sed -i.bak 's/^ image: pgvector/# image:/' "$OVERMIND_DIR/docker-compose.yml"
|
|
209
|
+
sed -i.bak 's/^ container_name: overmind-postgres/# container_name:/' "$OVERMIND_DIR/docker-compose.yml"
|
|
210
|
+
echo -e "${GREEN}[OK] Docker-compose adapté (postgres désactivé)${NC}"
|
|
211
|
+
fi
|
|
212
|
+
|
|
213
|
+
echo -e "${GREEN}[OK] Fichers téléchargés${NC}"
|
|
214
|
+
|
|
215
|
+
echo -e "${YELLOW}[INFO] Création fichiers de configuration...${NC}"
|
|
216
|
+
mkdir -p "$OVERMIND_DIR/config/grafana/provisioning/datasources"
|
|
217
|
+
|
|
218
|
+
echo -e "${YELLOW}[INFO] Création config OTEL collector...${NC}"
|
|
219
|
+
cat > "$OVERMIND_DIR/config/otel-collector.yml" << 'EOF'
|
|
220
|
+
receivers:
|
|
221
|
+
otlp:
|
|
222
|
+
protocols:
|
|
223
|
+
grpc:
|
|
224
|
+
endpoint: 0.0.0.0:4317
|
|
225
|
+
http:
|
|
226
|
+
endpoint: 0.0.0.0:4318
|
|
227
|
+
|
|
228
|
+
processors:
|
|
229
|
+
batch:
|
|
230
|
+
|
|
231
|
+
exporters:
|
|
232
|
+
otlp/jaeger:
|
|
233
|
+
endpoint: jaeger:4317
|
|
234
|
+
tls:
|
|
235
|
+
insecure: true
|
|
236
|
+
|
|
237
|
+
prometheusremotewrite:
|
|
238
|
+
endpoint: http://prometheus:9090/api/v1/write
|
|
239
|
+
|
|
240
|
+
service:
|
|
241
|
+
pipelines:
|
|
242
|
+
traces:
|
|
243
|
+
receivers: [otlp]
|
|
244
|
+
processors: [batch]
|
|
245
|
+
exporters: [otlp/jaeger]
|
|
246
|
+
|
|
247
|
+
metrics:
|
|
248
|
+
receivers: [otlp]
|
|
249
|
+
processors: [batch]
|
|
250
|
+
exporters: [prometheusremotewrite]
|
|
251
|
+
EOF
|
|
252
|
+
|
|
253
|
+
echo -e "${YELLOW}[INFO] Création config Prometheus...${NC}"
|
|
254
|
+
cat > "$OVERMIND_DIR/config/prometheus.yml" << 'EOF'
|
|
255
|
+
global:
|
|
256
|
+
scrape_interval: 15s
|
|
257
|
+
evaluation_interval: 15s
|
|
258
|
+
|
|
259
|
+
scrape_configs:
|
|
260
|
+
- job_name: 'prometheus'
|
|
261
|
+
static_configs:
|
|
262
|
+
- targets: ['localhost:9090']
|
|
263
|
+
|
|
264
|
+
- job_name: 'otel-collector'
|
|
265
|
+
static_configs:
|
|
266
|
+
- targets: ['otel-collector:9464']
|
|
267
|
+
EOF
|
|
268
|
+
|
|
269
|
+
echo -e "${YELLOW}[INFO] Création config Grafana datasource...${NC}"
|
|
270
|
+
cat > "$OVERMIND_DIR/config/grafana/provisioning/datasources/prometheus.yml" << 'EOF'
|
|
271
|
+
apiVersion: 1
|
|
272
|
+
|
|
273
|
+
datasources:
|
|
274
|
+
- name: Prometheus
|
|
275
|
+
type: prometheus
|
|
276
|
+
access: proxy
|
|
277
|
+
url: http://prometheus:9090
|
|
278
|
+
isDefault: true
|
|
279
|
+
EOF
|
|
280
|
+
|
|
281
|
+
echo -e "${GREEN}[OK] Fichiers de configuration créés${NC}"
|
|
282
|
+
|
|
283
|
+
echo -e "${YELLOW}[INFO] Création init-db.sql...${NC}"
|
|
284
|
+
curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/init-db.sql -o "$OVERMIND_DIR/init-db.sql"
|
|
285
|
+
echo -e "${GREEN}[OK] init-db.sql téléchargé${NC}"
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
echo ""
|
|
289
|
+
|
|
290
|
+
# ============================================================
|
|
291
|
+
# STEP 8: Démarrage intelligent
|
|
292
|
+
# ============================================================
|
|
293
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
294
|
+
echo -e "${CYAN}[ STEP 8/8 ] DÉMARRAGE DOCKER${NC}"
|
|
295
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
296
|
+
echo ""
|
|
297
|
+
|
|
298
|
+
echo -e "${YELLOW}[INFO] Démarrage infrastructure Docker...${NC}"
|
|
299
|
+
cd "$OVERMIND_DIR"
|
|
300
|
+
docker-compose -f docker-compose.yml up -d
|
|
301
|
+
|
|
302
|
+
if [ $? -ne 0 ]; then
|
|
303
|
+
echo -e "${YELLOW}[WARN] Certains services ont pu échouer${NC}"
|
|
304
|
+
echo -e "${YELLOW}[INFO] Vérification des services démarrés...${NC}"
|
|
305
|
+
fi
|
|
306
|
+
|
|
307
|
+
echo ""
|
|
308
|
+
sleep 15
|
|
309
|
+
|
|
310
|
+
# ============================================================
|
|
311
|
+
# VALIDATION INTELLIGENTE
|
|
312
|
+
# ============================================================
|
|
313
|
+
echo ""
|
|
314
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
315
|
+
echo -e "${CYAN}[ VALIDATION DES SERVICES ]${NC}"
|
|
316
|
+
echo -e "${CYAN}=======================================================${NC}"
|
|
317
|
+
echo ""
|
|
318
|
+
|
|
319
|
+
echo -e "${YELLOW}[INFO] Vérification des containers...${NC}"
|
|
320
|
+
echo ""
|
|
321
|
+
docker ps --filter "name=overmind" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
|
322
|
+
echo ""
|
|
323
|
+
|
|
324
|
+
echo -e "${YELLOW}[INFO] Tests de connexion...${NC}"
|
|
325
|
+
echo ""
|
|
326
|
+
|
|
327
|
+
# Test PostgreSQL
|
|
328
|
+
echo -e " • PostgreSQL:"
|
|
329
|
+
if [ "$USE_EXTERNAL_POSTGRES" -eq 1 ]; then
|
|
330
|
+
docker exec "${POSTGRES_CONTAINER}" pg_isready -U postgres > /dev/null 2>&1
|
|
331
|
+
if [ $? -eq 0 ]; then
|
|
332
|
+
echo -e "${GREEN} [OK] PostgreSQL actif (${POSTGRES_CONTAINER})${NC}"
|
|
333
|
+
else
|
|
334
|
+
echo -e "${RED} [FAIL] PostgreSQL non prêt${NC}"
|
|
335
|
+
fi
|
|
336
|
+
else
|
|
337
|
+
docker ps --filter "name=overmind-postgres" --format "{{.Names}}" | grep -q postgres
|
|
338
|
+
if [ $? -eq 0 ]; then
|
|
339
|
+
docker exec overmind-postgres pg_isready -U postgres > /dev/null 2>&1
|
|
340
|
+
if [ $? -eq 0 ]; then
|
|
341
|
+
echo -e "${GREEN} [OK] OverMind PostgreSQL actif${NC}"
|
|
342
|
+
else
|
|
343
|
+
echo -e "${RED} [FAIL] PostgreSQL non prêt${NC}"
|
|
344
|
+
fi
|
|
345
|
+
else
|
|
346
|
+
echo -e "${RED} [FAIL] OverMind PostgreSQL non trouvé${NC}"
|
|
347
|
+
fi
|
|
348
|
+
fi
|
|
349
|
+
|
|
350
|
+
# Test RabbitMQ
|
|
351
|
+
echo -e " • RabbitMQ:"
|
|
352
|
+
docker ps --filter "name=overmind-rabbitmq" --format "{{.Names}}" | grep -q rabbitmq
|
|
353
|
+
if [ $? -eq 0 ]; then
|
|
354
|
+
echo -e "${GREEN} [OK] RabbitMQ actif${NC}"
|
|
355
|
+
else
|
|
356
|
+
echo -e "${RED} [FAIL] RabbitMQ non trouvé${NC}"
|
|
357
|
+
fi
|
|
358
|
+
|
|
359
|
+
# Test Temporal
|
|
360
|
+
echo -e " • Temporal:"
|
|
361
|
+
echo -e "${YELLOW} [INFO] Désactivé (requiert init DB)${NC}"
|
|
362
|
+
|
|
363
|
+
# Test Prometheus
|
|
364
|
+
echo -e " • Prometheus:"
|
|
365
|
+
docker ps --filter "name=overmind-prometheus" --format "{{.Names}}" | grep -q prometheus
|
|
366
|
+
if [ $? -eq 0 ]; then
|
|
367
|
+
echo -e "${GREEN} [OK] Prometheus actif${NC}"
|
|
368
|
+
else
|
|
369
|
+
echo -e "${RED} [FAIL] Prometheus non trouvé${NC}"
|
|
370
|
+
fi
|
|
371
|
+
|
|
372
|
+
# Test Grafana
|
|
373
|
+
echo -e " • Grafana:"
|
|
374
|
+
docker ps --filter "name=overmind-grafana" --format "{{.Names}}" | grep -q grafana
|
|
375
|
+
if [eq $? -eq 0 ]; then
|
|
376
|
+
echo -e "${GREEN} [OK] Grafana actif${NC}"
|
|
377
|
+
else
|
|
378
|
+
echo -e "${RED} [FAIL] Grafana non trouvé${NC}"
|
|
379
|
+
fi
|
|
380
|
+
|
|
381
|
+
# Test Jaeger
|
|
382
|
+
echo -e " • Jaeger:"
|
|
383
|
+
docker ps --filter "name=overmind-jaeger" --format "{{.Names}}" | grep -q jaeger
|
|
384
|
+
if [ $? -eq 0 ]; then
|
|
385
|
+
echo -e "${GREEN} [OK] Jaeger actif${NC}"
|
|
386
|
+
else
|
|
387
|
+
echo -e "${RED} [FAIL] Jaeger non trouvé${NC}"
|
|
388
|
+
fi
|
|
389
|
+
|
|
390
|
+
echo ""
|
|
391
|
+
echo -e "${GREEN}***************************************************************${NC}"
|
|
392
|
+
echo -e "${GREEN}* *${NC}"
|
|
393
|
+
echo -e "${GREEN}* ✅ INSTALLATION TERMINÉE ! *${NC}"
|
|
394
|
+
echo -e "${GREEN}* *${NC}"
|
|
395
|
+
echo -e "${GREEN}***************************************************************${NC}"
|
|
396
|
+
echo ""
|
|
397
|
+
echo -e "${YELLOW}[SERVICES ACTIFS]"
|
|
398
|
+
echo ""
|
|
399
|
+
echo " Ouvrez Docker Desktop → onglet Containers"
|
|
400
|
+
echo ""
|
|
401
|
+
echo " URLs utiles:"
|
|
402
|
+
echo " • Prometheus: http://localhost:9090"
|
|
403
|
+
echo " • Grafana: http://localhost:3000 (admin/admin)"
|
|
404
|
+
echo " • Jaeger: http://localhost:16686"
|
|
405
|
+
echo " • RabbitMQ: http://localhost:15672 (guest/guest)"
|
|
406
|
+
echo " • Temporal: http://localhost:8233"
|
|
407
|
+
echo ""
|
|
408
|
+
echo -e "${YELLOW}[PROCHAINE ÉTAPE]"
|
|
409
|
+
echo ""
|
|
410
|
+
echo " • Créez votre premier agent: overmind create-agent"
|
|
411
|
+
echo " • Ou listez les agents: overmind list-agents"
|
|
412
|
+
echo ""
|