#!/bin/bash # Mac Mini 홈 관리 시스템 설정 스크립트 echo "🏠 Mac Mini 홈 관리 시스템 설정을 시작합니다..." # 필요한 디렉토리 생성 echo "📁 데이터 디렉토리 생성 중..." mkdir -p /Users/hyungi/home-management-db mkdir -p /Users/hyungi/home-management-redis mkdir -p /Users/hyungi/home-management-data mkdir -p ./logs mkdir -p ./uploads # 권한 설정 echo "🔐 권한 설정 중..." chmod 755 /Users/hyungi/home-management-db chmod 755 /Users/hyungi/home-management-redis chmod 755 /Users/hyungi/home-management-data chmod 755 ./logs chmod 755 ./uploads # Docker 이미지 빌드 echo "🐳 Docker 이미지 빌드 중..." docker-compose -f docker-compose.mac-mini.yml build # 기존 컨테이너 정리 echo "🧹 기존 컨테이너 정리 중..." docker-compose -f docker-compose.mac-mini.yml down -v # 데이터베이스와 Redis 먼저 시작 echo "🗄️ 데이터베이스 서비스 시작 중..." docker-compose -f docker-compose.mac-mini.yml up -d mariadb redis # 데이터베이스 초기화 대기 echo "⏳ 데이터베이스 초기화 대기 중 (60초)..." sleep 60 # 데이터베이스 연결 테스트 echo "🔍 데이터베이스 연결 테스트 중..." until docker exec home_mariadb mysql -u homeuser -pmac_mini_home_password -e "SELECT 1" > /dev/null 2>&1; do echo "데이터베이스 연결 대기 중..." sleep 5 done echo "✅ 데이터베이스 연결 성공!" # phpMyAdmin 시작 echo "🌐 phpMyAdmin 시작 중..." docker-compose -f docker-compose.mac-mini.yml up -d phpmyadmin # API 서버 시작 echo "🚀 API 서버 시작 중..." docker-compose -f docker-compose.mac-mini.yml up -d api # 서비스 상태 확인 echo "📊 서비스 상태 확인 중..." sleep 10 # 헬스체크 echo "🏥 헬스체크 수행 중..." for i in {1..30}; do if curl -f http://localhost:3000/health > /dev/null 2>&1; then echo "✅ API 서버가 정상적으로 시작되었습니다!" break fi echo "API 서버 시작 대기 중... ($i/30)" sleep 2 done # 컨테이너 상태 출력 echo "📋 컨테이너 상태:" docker-compose -f docker-compose.mac-mini.yml ps # 접속 정보 출력 echo "" echo "🎉 Mac Mini 홈 관리 시스템 설정 완료!" echo "" echo "📊 접속 정보:" echo "- API 서버: http://localhost:3000" echo "- API 문서: http://localhost:3000/api" echo "- phpMyAdmin: http://localhost:8080" echo " - 사용자: homeuser" echo " - 비밀번호: mac_mini_home_password" echo "" echo "🔍 테스트 명령어:" echo "curl http://localhost:3000/health" echo "curl http://localhost:3000/api/devices" echo "" echo "📝 로그 확인:" echo "docker-compose -f docker-compose.mac-mini.yml logs -f api" echo "" # 네트워크 정보 확인 echo "🌐 네트워크 정보:" ifconfig | grep "inet " | grep -v 127.0.0.1 | awk '{print "- " $2}' echo "" echo "💡 다른 기기에서 접속하려면 위 IP 주소를 사용하세요." echo "예: http://[IP]:3000"