Full dashboard implementation: API, UI, and sharing scripts
This commit is contained in:
@@ -1,77 +1,7 @@
|
||||
@echo off
|
||||
setlocal EnableExtensions
|
||||
|
||||
set "PROJECT_DIR=/home/hyein/project"
|
||||
set "API_PORT=4000"
|
||||
set "LOCAL_URL=http://localhost:4000/PTC/"
|
||||
set "SHARE_URL="
|
||||
set "LAN_IP="
|
||||
set "CURRENT_SOURCE="
|
||||
|
||||
net session >nul 2>&1
|
||||
if not "%errorlevel%"=="0" (
|
||||
echo 관리자 권한으로 다시 실행해 공유 설정까지 적용합니다...
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -Command "Start-Process -FilePath '%~f0' -Verb RunAs"
|
||||
exit /b
|
||||
)
|
||||
|
||||
for /f "usebackq delims=" %%i in (`wsl.exe bash -lc "if [ -f /home/hyein/project/server/ptc_source_path.txt ]; then cat /home/hyein/project/server/ptc_source_path.txt; else echo /home/hyein/project/PTC(2023-2026.02).xlsx; fi"`) do (
|
||||
set "CURRENT_SOURCE=%%i"
|
||||
)
|
||||
|
||||
echo PTC 서버 시작 중...
|
||||
echo 원본 파일: %CURRENT_SOURCE%
|
||||
wsl.exe bash -lc "pkill -f '/home/hyein/project/server/ptc_api_server.py' >/dev/null 2>&1 || true; nohup python3 /home/hyein/project/server/ptc_api_server.py >/tmp/ptc_api.log 2>&1 & sleep 3"
|
||||
if errorlevel 1 (
|
||||
echo WSL에서 서버 시작 명령 실행에 실패했습니다.
|
||||
echo WSL이 실행 가능한지 확인해 주세요.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo 로컬 서버 상태 확인 중...
|
||||
wsl.exe bash -lc "curl -fsS http://127.0.0.1:4000/api/health >/tmp/ptc_api_health.json && curl -fsSI http://127.0.0.1:4000/PTC/ >/tmp/ptc_web_health.txt"
|
||||
if errorlevel 1 (
|
||||
echo 로컬 서버 확인에 실패했습니다.
|
||||
echo 아래 로그를 확인해 주세요.
|
||||
wsl.exe bash -lc "tail -n 80 /tmp/ptc_api.log"
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo 브라우저를 엽니다...
|
||||
start "" "%LOCAL_URL%"
|
||||
|
||||
echo.
|
||||
echo 로컬 실행 완료
|
||||
echo 메인 화면: %LOCAL_URL%
|
||||
echo.
|
||||
|
||||
echo 사내망 공유용 Windows IP 확인 중...
|
||||
for /f "usebackq delims=" %%i in (`powershell -NoProfile -Command "$ip = Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.IPAddress -notlike '127.*' -and $_.IPAddress -notlike '169.254.*' -and $_.PrefixOrigin -ne 'WellKnown' } | Select-Object -ExpandProperty IPAddress -First 1; if ($ip) { $ip }"`) do (
|
||||
set "LAN_IP=%%i"
|
||||
)
|
||||
|
||||
echo WSL IP 확인 중...
|
||||
for /f "usebackq delims=" %%i in (`wsl.exe bash -lc "hostname -I | awk '{print $1}'"`) do (
|
||||
set "WSL_IP=%%i"
|
||||
)
|
||||
|
||||
if "%LAN_IP%"=="" goto :share_done
|
||||
if "%WSL_IP%"=="" goto :share_done
|
||||
|
||||
echo 사내망 공유 설정 중...
|
||||
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=%API_PORT% >nul 2>&1
|
||||
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=%API_PORT% connectaddress=%WSL_IP% connectport=%API_PORT% >nul 2>&1
|
||||
netsh advfirewall firewall delete rule name="PTC 4000" >nul 2>&1
|
||||
netsh advfirewall firewall add rule name="PTC 4000" dir=in action=allow protocol=TCP localport=%API_PORT% >nul 2>&1
|
||||
|
||||
:share_done
|
||||
if not "%LAN_IP%"=="" (
|
||||
set "SHARE_URL=http://%LAN_IP%:%API_PORT%/PTC/"
|
||||
echo 사내망 접속 주소: %SHARE_URL%
|
||||
echo %SHARE_URL%| clip
|
||||
echo 공유 주소를 클립보드에 복사했습니다.
|
||||
)
|
||||
|
||||
pause
|
||||
setlocal
|
||||
pushd "%~dp0" >nul 2>&1
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0start_ptc_share.ps1"
|
||||
set "EXIT_CODE=%ERRORLEVEL%"
|
||||
popd >nul 2>&1
|
||||
exit /b %EXIT_CODE%
|
||||
|
||||
Reference in New Issue
Block a user