Files
exAichatbot_agent/exAiChatBot-chatbot2.0-agent/old_docs/OFFLINE_QUICKSTART.md
T
Macbook 4b86b2a660 Agent 2.0 exdev 서버 배포 스택
- server-dev start/stop/deploy 및 Gitea push 자동 배포
- local-dev 로컬 개발 환경

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 22:57:30 +09:00

4.2 KiB

오프라인 배포 빠른 가이드

🚀 3단계로 끝내는 오프라인 배포

현재 PC (온라인 환경)

# 1. 패키징 스크립트 실행
cd /Users/parkjiwon/src/rag
./create-offline-package.sh

# 2. 완료! 패키지 위치 확인
ls -lh ~/rag-offline-package.tar.gz

결과: ~/rag-offline-package.tar.gz (약 2.5GB)


오프라인 서버 (Linux)

# 1. 패키지 압축 해제
tar -xzf rag-offline-package.tar.gz
cd rag-offline-package

# 2. 배포 실행 (자동)
./deploy.sh

끝! 프롬프트를 따라 .env 설정만 하면 완료됩니다.


📦 패키지 내용

rag-offline-package.tar.gz (2.5GB)
└── rag-offline-package/
    ├── rag-api.tar          (1.2GB) - API 서비스 이미지
    ├── rag-batch.tar        (1.1GB) - 배치 작업 이미지
    ├── deploy.sh            - 자동 배포 스크립트
    ├── README.txt           - 간단 설명
    └── rag-project/         - 전체 소스 코드
        ├── docker-compose.yml
        ├── scripts/
        ├── data/
        └── env.template

⚡ 빠른 명령어 참조

온라인 PC

# 패키지 생성
./create-offline-package.sh

# USB로 복사
cp ~/rag-offline-package.tar.gz /Volumes/USB/

# 또는 SCP 전송 (일시적 연결 가능 시)
scp ~/rag-offline-package.tar.gz user@server:/home/user/

오프라인 서버

# 압축 해제 및 배포
tar -xzf rag-offline-package.tar.gz
cd rag-offline-package
./deploy.sh

# 배포 후 확인
cd rag-project
docker-compose ps
curl http://localhost:28012/health

🔧 수동 배포 (deploy.sh 없이)

자동 스크립트를 사용하고 싶지 않다면:

cd rag-offline-package

# 1. 이미지 로드
docker load -i rag-api.tar
docker load -i rag-batch.tar

# 2. 프로젝트 설정
cd rag-project
cp env.template .env
vi .env  # LLM_HOST, TEI_EMBED_HOST 등 수정

# 3. 배치 작업
docker-compose up preprocess embed index

# 4. API 시작
docker-compose up -d api

# 5. 확인
curl http://localhost:28012/health

📋 체크리스트

온라인 PC

  • ./create-offline-package.sh 실행
  • ~/rag-offline-package.tar.gz 생성 확인
  • 파일을 USB/SCP로 전송

오프라인 서버

  • Docker 설치됨 (docker --version)
  • 패키지 압축 해제
  • ./deploy.sh 실행
  • .env 파일 설정 (LLM/TEI 서버 IP)
  • 배치 작업 완료
  • API 서비스 실행 중
  • 헬스체크 성공

❓ FAQ

Q: 패키지 크기가 너무 큰데 분할할 수 있나요?

# 1GB 단위로 분할
split -b 1G ~/rag-offline-package.tar.gz rag-pkg.part

# 서버에서 합치기
cat rag-pkg.part* > rag-offline-package.tar.gz

Q: Docker가 없는 오프라인 서버는 어떻게 하나요?

  • Docker 설치 파일도 함께 가져가야 합니다
  • 또는 서버에 Docker가 사전 설치되어 있어야 합니다

Q: .env 파일에서 무엇을 수정해야 하나요?

# 필수 3가지
LLM_HOST=192.168.1.100        # LLM 서버 IP
TEI_EMBED_HOST=192.168.1.100  # TEI 서버 IP
TEI_RERANK_HOST=192.168.1.100 # TEI 서버 IP

Q: 배포 후 테스트는 어떻게 하나요?

# 헬스체크
curl http://localhost:28012/health

# 실제 질의
curl -X POST http://localhost:28012/ask \
  -H "Content-Type: application/json" \
  -d '{"query":"충전 카드 구매 방법"}'

📞 문제 해결

이미지 로드 실패

# 무결성 확인
tar -tzf rag-offline-package.tar.gz > /dev/null
echo $?  # 0이면 정상

# 디스크 공간 확인
df -h  # 5GB 이상 필요

외부 API 연결 실패

# 네트워크 확인
ping 192.168.1.100

# 포트 접근 확인
telnet 192.168.1.100 16000
curl http://192.168.1.100:16000/health

컨테이너 시작 실패

# 로그 확인
cd rag-project
docker-compose logs api

# 재시작
docker-compose restart api

🔗 상세 문서

  • 전체 가이드: OFFLINE_DEPLOYMENT.md
  • 배포 가이드: DEPLOYMENT.md
  • RAG 파이프라인: RAG_PIPELINE.md
  • 내부 LLM 가이드: INTERNAL_LLM_GUIDE.md

마지막 업데이트: 2024-12-30