Spaces:
Running
Running
File size: 2,653 Bytes
0bd4ab4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | #!/bin/bash
# Deployment and startup helper script
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${GREEN}π AI Scientific Co-Investigator - Deployment Script${NC}"
# Check if .env exists
if [ ! -f .env ]; then
echo -e "${YELLOW}β οΈ .env not found. Creating from .env.example...${NC}"
cp .env.example .env
echo -e "${YELLOW}β οΈ Please update .env with your API keys${NC}"
exit 1
fi
# Check Docker
if ! command -v docker &> /dev/null; then
echo -e "${RED}β Docker not found. Please install Docker.${NC}"
exit 1
fi
# Check Docker Compose
if ! command -v docker-compose &> /dev/null; then
echo -e "${RED}β Docker Compose not found. Please install Docker Compose.${NC}"
exit 1
fi
echo -e "${GREEN}β Docker and Docker Compose available${NC}"
# Parse arguments
case "${1:-}" in
"build")
echo -e "${GREEN}π¨ Building Docker images...${NC}"
docker compose build
;;
"up")
echo -e "${GREEN}π Starting services...${NC}"
docker compose up -d
sleep 5
echo -e "${GREEN}β Services started${NC}"
echo -e "${GREEN}π API: http://localhost:8000${NC}"
echo -e "${GREEN}π Docs: http://localhost:8000/docs${NC}"
echo -e "${GREEN}π Qdrant: http://localhost:6333${NC}"
docker compose logs -f api
;;
"down")
echo -e "${YELLOW}β¬οΈ Stopping services...${NC}"
docker compose down
;;
"logs")
docker compose logs -f api
;;
"test")
echo -e "${GREEN}π§ͺ Running tests...${NC}"
docker compose exec api pytest app/tests/ -v
;;
"migrate")
echo -e "${GREEN}π Running database migrations...${NC}"
docker compose exec api alembic upgrade head
;;
"shell")
echo -e "${GREEN}π» Opening Python shell...${NC}"
docker compose exec api python
;;
"dev")
echo -e "${GREEN}π οΈ Development mode - rebuilding and starting...${NC}"
docker compose down
docker compose build
docker compose up
;;
*)
echo -e "${YELLOW}Usage:${NC}"
echo " $0 build - Build Docker images"
echo " $0 up - Start all services"
echo " $0 down - Stop all services"
echo " $0 logs - View API logs"
echo " $0 test - Run tests"
echo " $0 migrate - Run database migrations"
echo " $0 shell - Open Python shell"
echo " $0 dev - Development mode"
;;
esac
|