Prevents bash/libtinfo 'no version information available' when conda ncurses shadows system libtinfo. Document env -u LD_LIBRARY_PATH fallback. Made-with: Cursor
38 lines
1.3 KiB
Bash
Executable File
38 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# libtinfo 경고: 터미널에 이미 conda가 켜져 LD_LIBRARY_PATH가 잡혀 있으면
|
|
# env -u LD_LIBRARY_PATH ./run.sh
|
|
# 로 실행해 보세요.
|
|
set -euo pipefail
|
|
|
|
if [[ -z "${BASH_VERSION:-}" ]]; then
|
|
echo "ERROR: bash로 실행하세요. 예) ./run.sh 또는 bash run.sh" >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd /home/dsyoon/workspace/stt
|
|
|
|
CONDA_BASE="/home/dsyoon/workspace/miniconda3"
|
|
source "${CONDA_BASE}/bin/activate" ncue
|
|
|
|
# 전역 LD_LIBRARY_PATH에 conda lib를 넣으면, 같은 터미널의 bash가 conda의
|
|
# libtinfo.so 를 물며 «no version information available» 경고가 날 수 있음.
|
|
# torch/ctranslate2 등은 uvicorn 자식 프로세스에만 경로를 넘긴다.
|
|
PORT="${PORT:-8025}"
|
|
RELOAD="${RELOAD:-0}"
|
|
|
|
if lsof -ti tcp:"${PORT}" >/dev/null 2>&1; then
|
|
echo "Stopping existing server on port ${PORT}..."
|
|
lsof -ti tcp:"${PORT}" | xargs -r kill -9
|
|
sleep 1
|
|
fi
|
|
|
|
UVICORN_ARGS=("--host" "127.0.0.1" "--port" "${PORT}")
|
|
if [[ "${RELOAD}" == "1" ]]; then
|
|
UVICORN_ARGS+=("--reload")
|
|
fi
|
|
|
|
echo "Starting uvicorn on 127.0.0.1:${PORT} (reload=${RELOAD})"
|
|
nohup env LD_LIBRARY_PATH="${CONDA_PREFIX}/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" \
|
|
uvicorn app.main:app "${UVICORN_ARGS[@]}" > server.log 2>&1 &
|
|
echo "Server started (PID: $!). Logs: server.log"
|