- Express.js 기반 백엔드 API 서버 - MariaDB, Redis, phpMyAdmin Docker 환경 - Device 관리 기본 CRUD 구현 - Mac Mini M4 Pro 전용 설정 및 배포 스크립트 - 자동화된 설치 및 배포 시스템 - 완전한 문서화 및 실행 가이드
5.2 KiB
5.2 KiB
Mac Mini 홈 관리 시스템 실행 가이드
Mac Mini M4 Pro에서 홈 관리 시스템을 운영하기 위한 상세 가이드입니다.
🖥️ Mac Mini 환경 요구사항
- Mac Mini M4 Pro (64GB RAM 권장)
- macOS Sonoma 14.5+
- Docker Desktop for Mac
- Git
- 최소 50GB 여유 공간
🚀 초기 설정
1. Docker Desktop 설치
# Homebrew로 설치 (권장)
brew install --cask docker
# 또는 Docker 공식 사이트에서 다운로드
# https://www.docker.com/products/docker-desktop/
2. 프로젝트 클론
cd /Users/hyungi
git clone https://git.hyungi.net/hyungi/myhome-server.git
cd myhome-server
3. 자동 설정 실행
# 실행 권한 부여
chmod +x scripts/setup-mac-mini.sh
# 설정 실행
./scripts/setup-mac-mini.sh
📁 Mac Mini 데이터 구조
/Users/hyungi/
├── myhome-server/ # 프로젝트 소스
├── home-management-db/ # MariaDB 데이터
├── home-management-redis/ # Redis 데이터
├── home-management-data/ # 업로드 파일
└── home-management-logs/ # 로그 파일
└── deploy.log
🌐 네트워크 설정
Mac Mini IP 확인
# 현재 IP 주소 확인
ifconfig | grep "inet " | grep -v 127.0.0.1
# 또는
ipconfig getifaddr en0
방화벽 설정 (필요시)
# 포트 3000 허용
sudo pfctl -f /etc/pf.conf
# 또는 시스템 환경설정 > 보안 및 개인정보보호 > 방화벽
🔄 배포 및 업데이트
자동 배포
# 최신 코드로 배포
./scripts/deploy-mac-mini.sh
# 특정 커밋으로 배포
./scripts/deploy-mac-mini.sh [commit-hash]
수동 배포
# 코드 업데이트
git pull origin main
# 서비스 재시작
docker-compose -f docker-compose.mac-mini.yml up -d --build
📊 모니터링 및 관리
서비스 상태 확인
# 컨테이너 상태
docker-compose -f docker-compose.mac-mini.yml ps
# 시스템 리소스
docker stats
# 로그 확인
tail -f /Users/hyungi/home-management-logs/deploy.log
데이터베이스 관리
# phpMyAdmin 접속
open http://localhost:8080
# 직접 MySQL 접속
docker exec -it home_mariadb mysql -u homeuser -p
백업 관리
# 데이터베이스 백업
docker exec home_mariadb mysqldump -u homeuser -pmac_mini_home_password home_management > backup_$(date +%Y%m%d).sql
# 데이터 디렉토리 백업
tar -czf home_management_backup_$(date +%Y%m%d).tar.gz /Users/hyungi/home-management-*
🔧 성능 최적화
Docker 설정 최적화
Docker Desktop > Settings > Resources:
- CPU: 6-8 cores
- Memory: 16-24GB
- Disk: 100GB+
MariaDB 최적화 (이미 적용됨)
# config/mariadb.cnf
innodb_buffer_pool_size = 4G
innodb_log_file_size = 512M
max_connections = 200
🔐 보안 설정
SSH 키 설정 (CI/CD용)
# SSH 키 생성
ssh-keygen -t ed25519 -C "mac-mini-home-server"
# 공개키를 Gitea에 등록
cat ~/.ssh/id_ed25519.pub
환경별 비밀키 관리
# 프로덕션 환경 변수 (docker-compose.mac-mini.yml에 설정됨)
JWT_SECRET=mac-mini-production-jwt-secret-key-2025
DB_PASSWORD=mac_mini_home_password
🚨 트러블슈팅
메모리 부족
# Docker 메모리 사용량 확인
docker system df
# 불필요한 이미지 정리
docker system prune -a
디스크 공간 부족
# 오래된 백업 이미지 정리
docker images | grep "backup" | tail -n +8 | awk '{print $1":"$2}' | xargs docker rmi
# 로그 로테이션
sudo log config --mode "rotate"
네트워크 접근 문제
# 포트 점유 확인
lsof -i :3000
# Docker 네트워크 재설정
docker network prune
📱 외부 접근 설정
홈 네트워크에서 접근
다른 기기에서 접근하려면:
- URL:
http://[Mac Mini IP]:3000 - 예시:
http://192.168.1.100:3000
포트 포워딩 (라우터 설정)
외부 인터넷에서 접근하려면 라우터에서:
- 포트 3000을 Mac Mini IP로 포워딩
- DDNS 설정 (선택사항)
📈 성능 모니터링
시스템 메트릭
# CPU 사용률
top -l 1 | grep "CPU usage"
# 메모리 사용률
vm_stat
# 디스크 I/O
iostat 1
애플리케이션 메트릭
# API 응답 시간
time curl http://localhost:3000/api/devices
# 데이터베이스 성능
docker exec home_mariadb mysql -u homeuser -pmac_mini_home_password -e "SHOW PROCESSLIST;"
🔄 정기 유지보수
일일 작업
- 시스템 상태 확인
- 로그 모니터링
- 백업 상태 확인
주간 작업
- 코드 업데이트 (git pull)
- Docker 이미지 정리
- 데이터베이스 백업
월간 작업
- 전체 시스템 백업
- 성능 리포트 생성
- 보안 업데이트 적용
📞 지원
문제 발생시:
/Users/hyungi/home-management-logs/deploy.log확인- Docker 로그 확인:
docker-compose -f docker-compose.mac-mini.yml logs - GitHub Issues에 로그와 함께 문의
Mac Mini M4 Pro의 성능을 최대한 활용하여 안정적인 홈 관리 시스템을 운영하세요! 🏠💻