- sidecar 슬림화: torch/pyannote 제거, ctranslate2 GPU 감지, /diarize 삭제 - Ollama 번들: resources/ollama/에 포터블 바이너리 배치, LocalLLMService 1순위 탐색 - installer.nsh: VC++ 재배포 x64 자동 다운로드(aka.ms 경유) + 사일런트 설치 - electron-builder: extraResources에 ollama 추가, nsis.include로 installer.nsh 연결 - scripts: download-ollama.ps1/sh 신규 - LLM.PULL_MODEL IPC 핸들러 + LocalLLMService.pullModel() 구현 (api/pull 스트리밍) - 온보딩 모달: gemma4:e4b 미설치 감지 시 자동 표시, 진행률 UI, i18n(ko/en) 키 추가 - .gitlab-ci.yml: Windows 러너에서 sidecar/sox/ollama 준비 후 NSIS 패키징, 태그 시 Release 자동 생성
61 lines
1.5 KiB
Bash
61 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
# scripts/download-ollama.sh
|
|
# Ollama 포터블 바이너리를 resources/ollama/에 배치한다. (macOS/Linux)
|
|
# 실행: bash scripts/download-ollama.sh
|
|
|
|
set -euo pipefail
|
|
|
|
OLLAMA_VERSION="${OLLAMA_VERSION:-v0.5.7}"
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
DEST_DIR="$SCRIPT_DIR/../resources/ollama"
|
|
|
|
OS="$(uname -s)"
|
|
ARCH="$(uname -m)"
|
|
|
|
case "$OS" in
|
|
Darwin)
|
|
# macOS는 .tgz 형식 (ollama-darwin.tgz)
|
|
ASSET="ollama-darwin.tgz"
|
|
;;
|
|
Linux)
|
|
if [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then
|
|
ASSET="ollama-linux-arm64.tgz"
|
|
else
|
|
ASSET="ollama-linux-amd64.tgz"
|
|
fi
|
|
;;
|
|
*)
|
|
echo "지원하지 않는 OS: $OS" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
URL="https://github.com/ollama/ollama/releases/download/${OLLAMA_VERSION}/${ASSET}"
|
|
TMP="$(mktemp -d)"
|
|
trap 'rm -rf "$TMP"' EXIT
|
|
|
|
mkdir -p "$DEST_DIR"
|
|
|
|
if [ -f "$DEST_DIR/ollama" ]; then
|
|
echo "Ollama가 이미 존재합니다: $DEST_DIR/ollama"
|
|
exit 0
|
|
fi
|
|
|
|
echo "=== Ollama ${OLLAMA_VERSION} ${OS} ${ARCH} 다운로드 ==="
|
|
echo "URL: $URL"
|
|
|
|
curl -L --fail --retry 3 -o "$TMP/$ASSET" "$URL"
|
|
tar -xzf "$TMP/$ASSET" -C "$TMP"
|
|
|
|
# tgz 구조: bin/ollama + lib/ (ROCm/CUDA 등). 필요한 것만 복사.
|
|
if [ -f "$TMP/bin/ollama" ]; then
|
|
cp "$TMP/bin/ollama" "$DEST_DIR/ollama"
|
|
chmod +x "$DEST_DIR/ollama"
|
|
fi
|
|
|
|
# 라이브러리 동봉(CUDA/ROCm 런타임용)
|
|
if [ -d "$TMP/lib" ]; then
|
|
cp -R "$TMP/lib" "$DEST_DIR/"
|
|
fi
|
|
|
|
echo "Ollama 설치 완료: $DEST_DIR"
|