#!/bin/bash # Script pour dĂ©marrer veza-stream-server en environnement de labo # Usage: ./scripts/start_lab.sh set -e # Couleurs pour les messages GREEN='\033[0;32m' YELLOW='\033[0;33m' RED='\033[0;31m' BLUE='\033[0;34m' NC='\033[0m' # No Color echo -e "${BLUE}🚀 DĂ©marrage de veza-stream-server en mode labo...${NC}" echo "" # DSN de la base de donnĂ©es de labo VEZA_LAB_DSN="${VEZA_LAB_DSN:-postgres://veza:veza_password@localhost:5432/veza_lab?sslmode=disable}" # VĂ©rifier que le binaire existe if [ ! -f "target/debug/stream_server" ] && [ ! -f "target/release/stream_server" ]; then echo -e "${YELLOW}⚠ Binaire non trouvĂ©, compilation en cours...${NC}" export DATABASE_URL="$VEZA_LAB_DSN" cargo build fi # Utiliser le binaire release s'il existe, sinon debug if [ -f "target/release/stream_server" ]; then BINARY="target/release/stream_server" else BINARY="target/debug/stream_server" fi echo -e "${GREEN}📩 Binaire: ${BINARY}${NC}" # Configuration des variables d'environnement export DATABASE_URL="$VEZA_LAB_DSN" export STREAM_PORT="${STREAM_PORT:-8082}" export SECRET_KEY="${SECRET_KEY:-$(openssl rand -hex 32)}" export JWT_SECRET="${JWT_SECRET:-$(openssl rand -hex 32)}" export RUST_LOG="${RUST_LOG:-stream_server=info}" export AUDIO_DIR="${AUDIO_DIR:-./audio}" export BACKEND_URL="${BACKEND_URL:-http://localhost:8080}" export ALLOWED_ORIGINS="${ALLOWED_ORIGINS:-*}" # VĂ©rifier que le rĂ©pertoire audio existe if [ ! -d "$AUDIO_DIR" ]; then echo -e "${YELLOW}⚠ RĂ©pertoire audio non trouvĂ©, crĂ©ation: ${AUDIO_DIR}${NC}" mkdir -p "$AUDIO_DIR" fi echo "" echo -e "${GREEN}📋 Configuration:${NC}" echo -e " DATABASE_URL: ${DATABASE_URL}" echo -e " STREAM_PORT: ${STREAM_PORT}" echo -e " AUDIO_DIR: ${AUDIO_DIR}" echo -e " RUST_LOG: ${RUST_LOG}" echo "" # VĂ©rifier la connexion Ă  la base de donnĂ©es echo -e "${BLUE}🔍 VĂ©rification de la connexion Ă  la base de donnĂ©es...${NC}" if psql "$VEZA_LAB_DSN" -c "SELECT 1;" > /dev/null 2>&1; then echo -e "${GREEN}✅ Connexion Ă  la base de donnĂ©es OK${NC}" else echo -e "${RED}❌ Impossible de se connecter Ă  la base de donnĂ©es${NC}" echo -e "${YELLOW} VĂ©rifiez que PostgreSQL est dĂ©marrĂ© et que le DSN est correct${NC}" exit 1 fi echo "" echo -e "${GREEN}🚀 DĂ©marrage du serveur...${NC}" echo -e "${YELLOW} Appuyez sur Ctrl+C pour arrĂȘter${NC}" echo "" # DĂ©marrer le serveur exec "$BINARY"