Files
momentry_core_0_1/scripts/install_mongodb.sh
accusys de14bd6afa Initial commit: Momentry Core v0.1
- Rust-based digital asset management system
- Video analysis: ASR, OCR, YOLO, Face, Pose
- RAG capabilities with Qdrant vector database
- Multi-database support: PostgreSQL, Redis, MongoDB
- Monitoring system with launchd plists
- n8n workflow automation integration
2026-03-16 15:07:33 +08:00

79 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# MongoDB Installation Script
echo "=== MongoDB Installation ==="
echo ""
# Step 1: Create directories
echo "Step 1: Creating directories..."
sudo mkdir -p /Users/accusys/momentry/var
sudo mkdir -p /Users/accusys/momentry/log
sudo chown -R accusys:staff /Users/accusys/momentry
echo " ✓ Directories created"
# Step 2: Check and backup existing plist
echo ""
echo "Step 2: Checking existing plist..."
PLIST_PATH="/Library/LaunchDaemons/com.momentry.mongodb.plist"
if [ -f "$PLIST_PATH" ]; then
BACKUP_NAME="${PLIST_PATH}.$(date +%Y%m%d%H%M%S).bak"
echo " Backing up existing plist to: $BACKUP_NAME"
sudo mv "$PLIST_PATH" "$BACKUP_NAME"
echo " ✓ Existing plist backed up"
else
echo " ✓ No existing plist found"
fi
# Step 3: Copy new plist
echo ""
echo "Step 3: Copying new plist..."
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SOURCE_PLIST="$SCRIPT_DIR/momentry_runtime/plist/com.momentry.mongodb.plist"
if [ -f "$SOURCE_PLIST" ]; then
sudo cp "$SOURCE_PLIST" /Library/LaunchDaemons/
echo " ✓ plist copied"
else
echo " ✗ Source plist not found: $SOURCE_PLIST"
exit 1
fi
# Step 4: Start MongoDB
echo ""
echo "Step 4: Starting MongoDB..."
sudo launchctl load /Library/LaunchDaemons/com.momentry.mongodb.plist
echo " ✓ MongoDB started"
# Step 5: Verify
echo ""
echo "Step 5: Verifying..."
sleep 2
echo ""
echo " Port 27017 status:"
lsof -i :27017 || echo " (checking...)"
echo ""
echo " Service status:"
sudo launchctl list | grep momentry || echo " No service found"
# Step 6: Create user (without auth first)
echo ""
echo "Step 6: Creating database user..."
mongosh --eval '
use admin
db.createUser({
user: "accusys",
pwd: "Test3200Test3200",
roles: [{ role: "root", db: "admin" }]
})
' 2>/dev/null || echo " (user creation deferred - MongoDB may still be starting)"
echo ""
echo "=== Installation Complete ==="
echo ""
echo "Connection string:"
echo " mongodb://accusys:Test3200Test3200@localhost:27017/momentry"
echo ""
echo "Remote access enabled (bind_ip: 0.0.0.0)"