Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
🎯 주요 기능: - 모든 카테고리 자재 그룹핑 (파이프, 피팅, 플랜지, 밸브, 볼트, 가스켓, UNKNOWN) - 같은 재질/사이즈 자재 자동 통합 표시 - 리비전 업로드 시 차이분만 처리하는 스마트 시스템 🎨 UI/UX 개선: - NewMaterialsPage: DevonThink 스타일 깔끔한 자재 목록 - SystemSettingsPage: 사용자 관리 기능 완성 - 과도한 디버그 로그 제거로 성능 향상 🗄️ 데이터베이스: - 통합 초기화 스키마 (99_complete_schema.sql) - 다른 환경 배포 시 모든 테이블 자동 생성 - 기본 계정/프로젝트/권한 자동 설정 🚀 배포 개선: - docker-run.sh 스크립트 개선 - 환경 변수 설정 가이드 업데이트
141 lines
4.6 KiB
Bash
Executable File
141 lines
4.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# TK-MP-Project Docker 실행 스크립트
|
|
# 환경별로 적절한 Docker Compose 설정을 사용하여 실행
|
|
|
|
set -e
|
|
|
|
# 색상 정의
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# 도움말 함수
|
|
show_help() {
|
|
echo -e "${BLUE}TK-MP-Project Docker 실행 스크립트${NC}"
|
|
echo ""
|
|
echo "사용법: $0 [환경] [명령]"
|
|
echo ""
|
|
echo "환경:"
|
|
echo " dev 개발 환경 (기본값)"
|
|
echo " prod 프로덕션 환경"
|
|
echo " synology 시놀로지 NAS 환경"
|
|
echo ""
|
|
echo "명령:"
|
|
echo " up 서비스 시작 (기본값)"
|
|
echo " down 서비스 중지"
|
|
echo " restart 서비스 재시작"
|
|
echo " logs 로그 확인"
|
|
echo " build 이미지 다시 빌드"
|
|
echo " status 서비스 상태 확인"
|
|
echo ""
|
|
echo "예시:"
|
|
echo " $0 # 개발 환경으로 시작"
|
|
echo " $0 dev up # 개발 환경으로 시작"
|
|
echo " $0 prod up # 프로덕션 환경으로 시작"
|
|
echo " $0 synology up # 시놀로지 환경으로 시작"
|
|
echo " $0 dev logs # 개발 환경 로그 확인"
|
|
echo " $0 dev down # 개발 환경 중지"
|
|
}
|
|
|
|
# 환경 설정
|
|
ENVIRONMENT=${1:-dev}
|
|
COMMAND=${2:-up}
|
|
|
|
# 환경별 Docker Compose 파일 설정
|
|
case $ENVIRONMENT in
|
|
dev|development)
|
|
COMPOSE_FILES="-f docker-compose.yml -f docker-compose.override.yml"
|
|
ENV_NAME="개발"
|
|
;;
|
|
prod|production)
|
|
COMPOSE_FILES="-f docker-compose.yml -f docker-compose.prod.yml"
|
|
ENV_NAME="프로덕션"
|
|
;;
|
|
synology|nas)
|
|
COMPOSE_FILES="-f docker-compose.yml -f docker-compose.synology.yml"
|
|
ENV_NAME="시놀로지"
|
|
;;
|
|
help|-h|--help)
|
|
show_help
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo -e "${RED}❌ 알 수 없는 환경: $ENVIRONMENT${NC}"
|
|
echo "사용 가능한 환경: dev, prod, synology"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# .env 파일 확인
|
|
if [ ! -f .env ]; then
|
|
echo -e "${YELLOW}⚠️ .env 파일이 없습니다. env.example을 복사하여 .env 파일을 생성합니다.${NC}"
|
|
cp env.example .env
|
|
echo -e "${GREEN}✅ .env 파일이 생성되었습니다. 필요시 설정을 수정하세요.${NC}"
|
|
fi
|
|
|
|
# 명령 실행
|
|
echo -e "${BLUE}🐳 TK-MP-Project ${ENV_NAME} 환경 ${COMMAND} 실행${NC}"
|
|
echo "Docker Compose 파일: $COMPOSE_FILES"
|
|
echo ""
|
|
|
|
case $COMMAND in
|
|
up|start)
|
|
echo -e "${GREEN}🚀 서비스를 시작합니다...${NC}"
|
|
docker-compose $COMPOSE_FILES up -d
|
|
echo ""
|
|
echo -e "${GREEN}✅ 서비스가 시작되었습니다!${NC}"
|
|
echo ""
|
|
echo "접속 주소:"
|
|
case $ENVIRONMENT in
|
|
dev|development)
|
|
echo " - 프론트엔드: http://localhost:13000"
|
|
echo " - 백엔드 API: http://localhost:18000"
|
|
echo " - API 문서: http://localhost:18000/docs"
|
|
echo " - pgAdmin: http://localhost:5050"
|
|
;;
|
|
prod|production)
|
|
echo " - 웹사이트: http://localhost"
|
|
echo " - HTTPS: https://localhost (SSL 설정 시)"
|
|
;;
|
|
synology|nas)
|
|
echo " - 프론트엔드: http://localhost:10173"
|
|
echo " - 백엔드 API: http://localhost:10080"
|
|
echo " - API 문서: http://localhost:10080/docs"
|
|
echo " - pgAdmin: http://localhost:15050"
|
|
;;
|
|
esac
|
|
;;
|
|
down|stop)
|
|
echo -e "${YELLOW}🛑 서비스를 중지합니다...${NC}"
|
|
docker-compose $COMPOSE_FILES down
|
|
echo -e "${GREEN}✅ 서비스가 중지되었습니다.${NC}"
|
|
;;
|
|
restart)
|
|
echo -e "${YELLOW}🔄 서비스를 재시작합니다...${NC}"
|
|
docker-compose $COMPOSE_FILES restart
|
|
echo -e "${GREEN}✅ 서비스가 재시작되었습니다.${NC}"
|
|
;;
|
|
logs)
|
|
echo -e "${BLUE}📋 로그를 확인합니다...${NC}"
|
|
docker-compose $COMPOSE_FILES logs -f
|
|
;;
|
|
build)
|
|
echo -e "${BLUE}🔨 이미지를 다시 빌드합니다...${NC}"
|
|
docker-compose $COMPOSE_FILES build --no-cache
|
|
echo -e "${GREEN}✅ 빌드가 완료되었습니다.${NC}"
|
|
;;
|
|
status|ps)
|
|
echo -e "${BLUE}📊 서비스 상태를 확인합니다...${NC}"
|
|
docker-compose $COMPOSE_FILES ps
|
|
;;
|
|
*)
|
|
echo -e "${RED}❌ 알 수 없는 명령: $COMMAND${NC}"
|
|
echo "사용 가능한 명령: up, down, restart, logs, build, status"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|