add setup script with volume reset option, fix default embedding dims
This commit is contained in:
parent
a190527076
commit
638a591dc5
2 changed files with 123 additions and 1 deletions
|
|
@ -71,7 +71,7 @@ services:
|
|||
API_KEYS: ${API_KEYS:-{}}
|
||||
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-http://host.docker.internal:11434}
|
||||
EMBEDDING_MODEL: ${EMBEDDING_MODEL:-nomic-embed-text}
|
||||
EMBEDDING_DIMS: ${EMBEDDING_DIMS:-768}
|
||||
EMBEDDING_DIMS: ${EMBEDDING_DIMS:-2560}
|
||||
expose:
|
||||
- "8000"
|
||||
networks:
|
||||
|
|
|
|||
122
setup.sh
Executable file
122
setup.sh
Executable file
|
|
@ -0,0 +1,122 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
COMPOSE_PROJECT_NAME="${COMPOSE_PROJECT_NAME:-mem0}"
|
||||
VOLUMES=("qdrant_data" "neo4j_data" "neo4j_logs" "neo4j_import" "neo4j_plugins")
|
||||
|
||||
echo "=========================================="
|
||||
echo " Mem0 Setup Script"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
check_volumes_exist() {
|
||||
local exists=false
|
||||
for vol in "${VOLUMES[@]}"; do
|
||||
full_name="${COMPOSE_PROJECT_NAME}_${vol}"
|
||||
if docker volume ls -q | grep -q "^${full_name}$"; then
|
||||
exists=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
echo "$exists"
|
||||
}
|
||||
|
||||
list_existing_volumes() {
|
||||
echo "Existing volumes:"
|
||||
for vol in "${VOLUMES[@]}"; do
|
||||
full_name="${COMPOSE_PROJECT_NAME}_${vol}"
|
||||
if docker volume ls -q | grep -q "^${full_name}$"; then
|
||||
size=$(docker system df -v 2>/dev/null | grep "$full_name" | awk '{print $4}' || echo "unknown")
|
||||
echo " - $full_name ($size)"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
remove_volumes() {
|
||||
echo "Stopping containers..."
|
||||
docker compose down 2>/dev/null || true
|
||||
|
||||
echo "Removing volumes..."
|
||||
for vol in "${VOLUMES[@]}"; do
|
||||
full_name="${COMPOSE_PROJECT_NAME}_${vol}"
|
||||
if docker volume ls -q | grep -q "^${full_name}$"; then
|
||||
echo " Removing $full_name..."
|
||||
docker volume rm "$full_name" 2>/dev/null || true
|
||||
fi
|
||||
done
|
||||
echo "Volumes removed."
|
||||
}
|
||||
|
||||
build_and_start() {
|
||||
echo ""
|
||||
echo "Building containers..."
|
||||
docker compose build
|
||||
|
||||
echo ""
|
||||
echo "Starting services..."
|
||||
docker compose up -d
|
||||
|
||||
echo ""
|
||||
echo "Waiting for services to be healthy..."
|
||||
sleep 5
|
||||
|
||||
echo ""
|
||||
echo "Checking health..."
|
||||
curl -s http://localhost:8000/health 2>/dev/null | jq . || echo "Health check not available yet. Services may still be starting."
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo " Setup Complete!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "Services:"
|
||||
echo " - Backend API: http://localhost:8000"
|
||||
echo " - API Docs: http://localhost:8000/docs"
|
||||
echo " - Health Check: http://localhost:8000/health"
|
||||
echo ""
|
||||
echo "Logs: docker compose logs -f backend"
|
||||
}
|
||||
|
||||
if [ "$(check_volumes_exist)" = "true" ]; then
|
||||
echo "Existing data volumes detected!"
|
||||
echo ""
|
||||
list_existing_volumes
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " 1) Keep existing data and start services"
|
||||
echo " 2) Reset everything (DELETE ALL DATA) and start fresh"
|
||||
echo " 3) Exit"
|
||||
echo ""
|
||||
read -p "Choose an option [1/2/3]: " choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
echo ""
|
||||
echo "Keeping existing data..."
|
||||
build_and_start
|
||||
;;
|
||||
2)
|
||||
echo ""
|
||||
read -p "Are you sure you want to DELETE ALL DATA? Type 'yes' to confirm: " confirm
|
||||
if [ "$confirm" = "yes" ]; then
|
||||
remove_volumes
|
||||
build_and_start
|
||||
else
|
||||
echo "Aborted."
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
3)
|
||||
echo "Exiting."
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Invalid option. Exiting."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo "No existing volumes found. Starting fresh setup..."
|
||||
build_and_start
|
||||
fi
|
||||
Loading…
Reference in a new issue