deploy-offline.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env sh
  2. # Linux offline deployment using the extracted single release archive.
  3. set -eu
  4. case "$0" in
  5. */*) SCRIPT_DIR=${0%/*} ;;
  6. *) SCRIPT_DIR=. ;;
  7. esac
  8. REPO_ROOT=$(CDPATH= cd -- "$SCRIPT_DIR" && pwd)
  9. cd "$REPO_ROOT"
  10. ACTION=${1:-deploy}
  11. case "$ACTION" in
  12. help|-h|--help)
  13. echo 'Usage: sh deploy-offline.sh [deploy|import-knowledge|restart|start|stop|status|check-milvus|check-redis|check-dms|check-deepseek|check-qcc "company full name"|check "company full name"]'
  14. echo 'deploy: use the preinstalled .venv and packaged snapshot; never download'
  15. echo 'import-knowledge: verify and restore the packaged knowledge snapshot to Milvus'
  16. echo 'Configuration and prerequisites: docs/deployment.md'
  17. exit 0 ;;
  18. deploy|import-knowledge|restart|start|stop|status|serve|check|check-milvus|check-redis|check-dms|check-deepseek|check-qcc) ;;
  19. *) echo 'Unknown offline deployment action.' >&2; exit 2 ;;
  20. esac
  21. case "$ACTION" in
  22. check|check-qcc)
  23. [ "$#" -eq 2 ] && [ -n "$2" ] || { echo 'This check requires one exact company name.' >&2; exit 2; } ;;
  24. *) [ "$#" -le 1 ] || { echo 'Only one action is accepted.' >&2; exit 2; } ;;
  25. esac
  26. [ "$(uname -s)" = Linux ] || { echo 'deploy-offline.sh requires Linux.' >&2; exit 2; }
  27. export DEPLOY_OFFLINE=1 HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1
  28. export EMBEDDING_MODEL_PATH="$REPO_ROOT/models/bge-large-zh-v1.5"
  29. SERVICE_PYTHON="$REPO_ROOT/.venv/bin/python"
  30. [ -x "$SERVICE_PYTHON" ] || { echo 'Offline deployment requires the preinstalled .venv/bin/python.' >&2; exit 1; }
  31. case "$ACTION" in
  32. check|check-qcc) exec "$SERVICE_PYTHON" scripts/deploy.py "$ACTION" "$2" ;;
  33. esac
  34. exec "$SERVICE_PYTHON" scripts/deploy.py "$ACTION"