Files
myhome-server/scripts/setup-mac-mini.sh
Hyungi Ahn 4b77086bb2 초기 홈 관리 시스템 API 구현
- Express.js 기반 백엔드 API 서버
- MariaDB, Redis, phpMyAdmin Docker 환경
- Device 관리 기본 CRUD 구현
- Mac Mini M4 Pro 전용 설정 및 배포 스크립트
- 자동화된 설치 및 배포 시스템
- 완전한 문서화 및 실행 가이드
2025-07-30 14:12:09 +09:00

99 lines
2.9 KiB
Bash

#!/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"