mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 23:41:08 +02:00
fix(matrix-mana-bot): correct service method calls and add deploy script
- Fix AiHandler to use correct service methods: - setSessionModel instead of setModel - clearSessionHistory instead of clearHistory - compareModels for model comparison - Fix TodoHandler to use index-based methods: - completeTaskByIndex instead of completeTask - deleteTaskByIndex instead of deleteTask - Add deploy-mana-bot.sh script for full deployment automation https://claude.ai/code/session_015bwcqVRiFmSydYTjvDJGTc
This commit is contained in:
parent
e96d76ab8e
commit
370b5d3196
3 changed files with 141 additions and 22 deletions
134
scripts/mac-mini/deploy-mana-bot.sh
Executable file
134
scripts/mac-mini/deploy-mana-bot.sh
Executable file
|
|
@ -0,0 +1,134 @@
|
|||
#!/bin/bash
|
||||
# Deploy Matrix Mana Bot (Gateway) to Mac Mini
|
||||
# This script handles the complete deployment process
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
|
||||
# Colors
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo "============================================"
|
||||
echo " Matrix Mana Bot - Full Deployment"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
|
||||
cd "$PROJECT_DIR"
|
||||
|
||||
# Check if .env exists and has the token
|
||||
if ! grep -q "MATRIX_MANA_BOT_TOKEN" .env 2>/dev/null; then
|
||||
echo -e "${YELLOW}Warning: MATRIX_MANA_BOT_TOKEN not found in .env${NC}"
|
||||
echo "Run ./scripts/mac-mini/setup-mana-bot.sh first to register the bot."
|
||||
echo ""
|
||||
read -p "Continue anyway? (y/N) " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Step 1: Pull latest code
|
||||
echo -e "${CYAN}Step 1: Pulling latest code...${NC}"
|
||||
git pull --ff-only || {
|
||||
echo -e "${YELLOW}Git pull failed. You may have local changes.${NC}"
|
||||
read -p "Continue anyway? (y/N) " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Step 2: Build shared package
|
||||
echo ""
|
||||
echo -e "${CYAN}Step 2: Building @manacore/bot-services...${NC}"
|
||||
cd "$PROJECT_DIR/packages/bot-services"
|
||||
pnpm install --frozen-lockfile 2>/dev/null || pnpm install
|
||||
pnpm build || {
|
||||
echo -e "${RED}Failed to build bot-services package${NC}"
|
||||
exit 1
|
||||
}
|
||||
echo -e "${GREEN}bot-services built successfully${NC}"
|
||||
|
||||
# Step 3: Build gateway bot
|
||||
echo ""
|
||||
echo -e "${CYAN}Step 3: Building matrix-mana-bot...${NC}"
|
||||
cd "$PROJECT_DIR/services/matrix-mana-bot"
|
||||
pnpm install --frozen-lockfile 2>/dev/null || pnpm install
|
||||
pnpm build || {
|
||||
echo -e "${RED}Failed to build matrix-mana-bot${NC}"
|
||||
exit 1
|
||||
}
|
||||
echo -e "${GREEN}matrix-mana-bot built successfully${NC}"
|
||||
|
||||
# Step 4: Build Docker image
|
||||
echo ""
|
||||
echo -e "${CYAN}Step 4: Building Docker image...${NC}"
|
||||
cd "$PROJECT_DIR"
|
||||
docker build -t matrix-mana-bot:latest ./services/matrix-mana-bot || {
|
||||
echo -e "${RED}Failed to build Docker image${NC}"
|
||||
exit 1
|
||||
}
|
||||
echo -e "${GREEN}Docker image built successfully${NC}"
|
||||
|
||||
# Step 5: Stop existing container if running
|
||||
echo ""
|
||||
echo -e "${CYAN}Step 5: Stopping existing container...${NC}"
|
||||
docker compose -f docker-compose.macmini.yml stop matrix-mana-bot 2>/dev/null || true
|
||||
docker compose -f docker-compose.macmini.yml rm -f matrix-mana-bot 2>/dev/null || true
|
||||
|
||||
# Step 6: Start new container
|
||||
echo ""
|
||||
echo -e "${CYAN}Step 6: Starting matrix-mana-bot...${NC}"
|
||||
docker compose -f docker-compose.macmini.yml up -d matrix-mana-bot || {
|
||||
echo -e "${RED}Failed to start container${NC}"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Step 7: Wait for health check
|
||||
echo ""
|
||||
echo -e "${CYAN}Step 7: Waiting for health check...${NC}"
|
||||
for i in {1..30}; do
|
||||
if curl -s http://localhost:3310/health > /dev/null 2>&1; then
|
||||
echo -e "${GREEN}Health check passed!${NC}"
|
||||
break
|
||||
fi
|
||||
if [ $i -eq 30 ]; then
|
||||
echo -e "${RED}Health check failed after 30 seconds${NC}"
|
||||
echo "Check logs with: docker logs manacore-matrix-mana-bot"
|
||||
exit 1
|
||||
fi
|
||||
echo -n "."
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# Step 8: Show status
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo -e "${GREEN} Deployment Complete!${NC}"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "Container Status:"
|
||||
docker ps --filter "name=manacore-matrix-mana-bot" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||
echo ""
|
||||
echo "Health Check:"
|
||||
curl -s http://localhost:3310/health | jq . 2>/dev/null || curl -s http://localhost:3310/health
|
||||
echo ""
|
||||
echo ""
|
||||
echo "Next Steps:"
|
||||
echo "1. Invite the bot to a Matrix room:"
|
||||
echo " /invite @mana:mana.how"
|
||||
echo ""
|
||||
echo "2. Test with:"
|
||||
echo " hilfe"
|
||||
echo " !todo Test aufgabe"
|
||||
echo " !list"
|
||||
echo ""
|
||||
echo "3. View logs with:"
|
||||
echo " docker logs -f manacore-matrix-mana-bot"
|
||||
echo ""
|
||||
Loading…
Add table
Add a link
Reference in a new issue