Files
TK-BOM-Project/scripts/docker-run.sh
Hyungi Ahn f674f3b350
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
feat: 완전한 자재 그룹핑 시스템 및 통합 DB 스키마 구현
🎯 주요 기능:
- 모든 카테고리 자재 그룹핑 (파이프, 피팅, 플랜지, 밸브, 볼트, 가스켓, UNKNOWN)
- 같은 재질/사이즈 자재 자동 통합 표시
- 리비전 업로드 시 차이분만 처리하는 스마트 시스템

🎨 UI/UX 개선:
- NewMaterialsPage: DevonThink 스타일 깔끔한 자재 목록
- SystemSettingsPage: 사용자 관리 기능 완성
- 과도한 디버그 로그 제거로 성능 향상

🗄️ 데이터베이스:
- 통합 초기화 스키마 (99_complete_schema.sql)
- 다른 환경 배포 시 모든 테이블 자동 생성
- 기본 계정/프로젝트/권한 자동 설정

🚀 배포 개선:
- docker-run.sh 스크립트 개선
- 환경 변수 설정 가이드 업데이트
2025-09-10 07:32:58 +09:00

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