104 lines
2.5 KiB
Batchfile
104 lines
2.5 KiB
Batchfile
@echo off
|
|
echo Starting Langflow build and run process...
|
|
|
|
REM Check if .env file exists and set env file flag
|
|
set "USE_ENV_FILE="
|
|
REM Get the script directory and resolve project root
|
|
for %%I in ("%~dp0..\..") do set "PROJECT_ROOT=%%~fI"
|
|
set "ENV_PATH=%PROJECT_ROOT%\.env"
|
|
if exist "%ENV_PATH%" (
|
|
echo Found .env file at: %ENV_PATH%
|
|
set "USE_ENV_FILE=1"
|
|
) else (
|
|
echo .env file not found at: %ENV_PATH%
|
|
echo Langflow will use default configuration
|
|
)
|
|
|
|
echo.
|
|
echo Step 1: Installing frontend dependencies...
|
|
cd ..\..\src\frontend
|
|
if errorlevel 1 (
|
|
echo Error: Could not navigate to src\frontend directory
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo Running npm install...
|
|
call npm install
|
|
if errorlevel 1 (
|
|
echo Error: npm install failed
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo Step 2: Building frontend...
|
|
echo Running npm run build...
|
|
call npm run build
|
|
if errorlevel 1 (
|
|
echo Error: npm run build failed
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo Step 3: Copying build files to backend...
|
|
cd ..\..
|
|
|
|
REM Check if build directory exists
|
|
if not exist "src\frontend\build" (
|
|
if not exist "src\frontend\dist" (
|
|
echo Error: Neither build nor dist directory found in src\frontend
|
|
pause
|
|
exit /b 1
|
|
)
|
|
set BUILD_DIR=src\frontend\dist
|
|
) else (
|
|
set BUILD_DIR=src\frontend\build
|
|
)
|
|
|
|
echo Copying from %BUILD_DIR% to src\backend\base\langflow\frontend\
|
|
REM Create target directory if it doesn't exist
|
|
if not exist "src\backend\base\langflow\frontend" (
|
|
mkdir "src\backend\base\langflow\frontend"
|
|
)
|
|
|
|
REM Remove existing files in target directory (FORCES CLEAN REPLACEMENT)
|
|
echo Removing existing files from target directory...
|
|
if exist "src\backend\base\langflow\frontend\*" (
|
|
del /q /s "src\backend\base\langflow\frontend\*"
|
|
for /d %%d in ("src\backend\base\langflow\frontend\*") do rmdir /s /q "%%d"
|
|
)
|
|
|
|
REM Copy all files from build directory
|
|
xcopy "%BUILD_DIR%\*" "src\backend\base\langflow\frontend\" /e /i /y
|
|
if errorlevel 1 (
|
|
echo Error: Failed to copy build files
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo Build files copied successfully!
|
|
|
|
echo.
|
|
echo Step 4: Running Langflow...
|
|
echo.
|
|
echo Attention: Wait until uvicorn is running before opening the browser
|
|
echo.
|
|
REM Change to project root directory for uv
|
|
cd "%PROJECT_ROOT%"
|
|
if defined USE_ENV_FILE (
|
|
echo Using env file: .env
|
|
uv run --env-file ".env" langflow run
|
|
) else (
|
|
uv run langflow run
|
|
)
|
|
if errorlevel 1 (
|
|
echo Error: Failed to run langflow
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo Langflow build and run process completed!
|
|
pause |