Fix: HTTPS Mixed Content 오류 수정 및 백업 시스템 구축
- Frontend: 하드코딩된 localhost API URL을 동적 URL 생성으로 변경 - reports-daily.html: 3곳 수정 (프로젝트 로드, 미리보기, 보고서 생성) - issues-archive.html: 프로젝트 로드 함수 수정 - issues-dashboard.html: 2곳 수정 (프로젝트 로드, 진행중 이슈 로드) - issues-inbox.html: 프로젝트 로드 함수 수정 - daily-work.html: 프로젝트 로드 함수 수정 - permissions.js: 2곳 수정 (권한 부여, 사용자 권한 조회) - Backup System: 완전한 백업/복구 시스템 구축 - backup_script.sh: 자동 백업 스크립트 (DB, 볼륨, 설정 파일) - restore_script.sh: 백업 복구 스크립트 - setup_auto_backup.sh: 자동 백업 스케줄 설정 (매일 오후 9시) - 백업 정책: 최신 10개 버전만 유지하여 용량 절약 - Migration: 5장 사진 지원 마이그레이션 파일 업데이트 이제 Cloudflare 환경(m.hyungi.net)에서 HTTPS 프로토콜로 API 호출하여 Mixed Content 오류 없이 모든 기능이 정상 작동합니다.
This commit is contained in:
105
restore_script.sh
Executable file
105
restore_script.sh
Executable file
@@ -0,0 +1,105 @@
|
||||
#!/bin/bash
|
||||
|
||||
# M 프로젝트 복구 스크립트
|
||||
# 사용법: ./restore_script.sh /path/to/backup/folder
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "❌ 사용법: $0 <백업폴더경로>"
|
||||
echo "예시: $0 /Users/hyungi/M-Project/backups/20251108_152538"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BACKUP_FOLDER="$1"
|
||||
|
||||
if [ ! -d "$BACKUP_FOLDER" ]; then
|
||||
echo "❌ 백업 폴더가 존재하지 않습니다: $BACKUP_FOLDER"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "🔄 M 프로젝트 복구 시작"
|
||||
echo "📁 백업 폴더: $BACKUP_FOLDER"
|
||||
|
||||
# 백업 정보 확인
|
||||
if [ -f "$BACKUP_FOLDER/backup_info.txt" ]; then
|
||||
echo "📋 백업 정보:"
|
||||
cat "$BACKUP_FOLDER/backup_info.txt"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
read -p "⚠️ 기존 데이터가 모두 삭제됩니다. 계속하시겠습니까? (y/N): " -n 1 -r
|
||||
echo
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo "❌ 복구가 취소되었습니다."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 1. 서비스 중지
|
||||
echo "🛑 서비스 중지 중..."
|
||||
cd /Users/hyungi/M-Project
|
||||
docker-compose down
|
||||
|
||||
# 2. 기존 볼륨 삭제
|
||||
echo "🗑️ 기존 볼륨 삭제 중..."
|
||||
docker volume rm m-project_postgres_data m-project_uploads 2>/dev/null || true
|
||||
|
||||
# 3. 데이터베이스 컨테이너만 시작
|
||||
echo "🚀 데이터베이스 컨테이너 시작 중..."
|
||||
docker-compose up -d db
|
||||
|
||||
# 데이터베이스 준비 대기
|
||||
echo "⏳ 데이터베이스 준비 대기 중..."
|
||||
sleep 10
|
||||
|
||||
# 4. 데이터베이스 복구
|
||||
if [ -f "$BACKUP_FOLDER/database_backup.sql" ]; then
|
||||
echo "📊 데이터베이스 복구 중..."
|
||||
docker exec -i m-project-db psql -U mproject mproject < "$BACKUP_FOLDER/database_backup.sql"
|
||||
echo "✅ 데이터베이스 복구 완료"
|
||||
else
|
||||
echo "❌ 데이터베이스 백업 파일을 찾을 수 없습니다."
|
||||
fi
|
||||
|
||||
# 5. Docker 볼륨 복구
|
||||
if [ -f "$BACKUP_FOLDER/postgres_volume.tar.gz" ]; then
|
||||
echo "💾 PostgreSQL 볼륨 복구 중..."
|
||||
docker run --rm -v m-project_postgres_data:/data -v "$BACKUP_FOLDER":/backup alpine tar xzf /backup/postgres_volume.tar.gz -C /data
|
||||
echo "✅ PostgreSQL 볼륨 복구 완료"
|
||||
fi
|
||||
|
||||
if [ -f "$BACKUP_FOLDER/uploads_volume.tar.gz" ]; then
|
||||
echo "📁 업로드 볼륨 복구 중..."
|
||||
docker run --rm -v m-project_uploads:/data -v "$BACKUP_FOLDER":/backup alpine tar xzf /backup/uploads_volume.tar.gz -C /data
|
||||
echo "✅ 업로드 볼륨 복구 완료"
|
||||
fi
|
||||
|
||||
# 6. 설정 파일 복구
|
||||
if [ -f "$BACKUP_FOLDER/docker-compose.yml" ]; then
|
||||
echo "⚙️ 설정 파일 복구 중..."
|
||||
cp "$BACKUP_FOLDER/docker-compose.yml" ./
|
||||
if [ -d "$BACKUP_FOLDER/nginx" ]; then
|
||||
cp -r "$BACKUP_FOLDER/nginx/" ./
|
||||
fi
|
||||
if [ -d "$BACKUP_FOLDER/migrations" ]; then
|
||||
cp -r "$BACKUP_FOLDER/migrations/" ./backend/
|
||||
fi
|
||||
echo "✅ 설정 파일 복구 완료"
|
||||
fi
|
||||
|
||||
# 7. 전체 서비스 시작
|
||||
echo "🚀 전체 서비스 시작 중..."
|
||||
docker-compose up -d
|
||||
|
||||
# 8. 서비스 상태 확인
|
||||
echo "⏳ 서비스 시작 대기 중..."
|
||||
sleep 15
|
||||
|
||||
echo "🔍 서비스 상태 확인 중..."
|
||||
docker-compose ps
|
||||
|
||||
echo "🎉 복구 완료!"
|
||||
echo "🌐 프론트엔드: http://localhost:16080"
|
||||
echo "🔗 백엔드 API: http://localhost:16000"
|
||||
echo "📊 데이터베이스: localhost:16432"
|
||||
|
||||
Reference in New Issue
Block a user