|
:: This method is not recommended, and we recommend you use the `start.sh` file with WSL instead. |
|
@echo off |
|
SETLOCAL ENABLEDELAYEDEXPANSION |
|
|
|
:: Get the directory of the current script |
|
SET "SCRIPT_DIR=%~dp0" |
|
cd /d "%SCRIPT_DIR%" || exit /b |
|
|
|
SET "KEY_FILE=.webui_secret_key" |
|
IF "%PORT%"=="" SET PORT=8080 |
|
IF "%HOST%"=="" SET HOST=0.0.0.0 |
|
SET "WEBUI_SECRET_KEY=%WEBUI_SECRET_KEY%" |
|
SET "WEBUI_JWT_SECRET_KEY=%WEBUI_JWT_SECRET_KEY%" |
|
|
|
:: Check if WEBUI_SECRET_KEY and WEBUI_JWT_SECRET_KEY are not set |
|
IF "%WEBUI_SECRET_KEY%%WEBUI_JWT_SECRET_KEY%" == " " ( |
|
echo Loading WEBUI_SECRET_KEY from file, not provided as an environment variable. |
|
|
|
IF NOT EXIST "%KEY_FILE%" ( |
|
echo Generating WEBUI_SECRET_KEY |
|
:: Generate a random value to use as a WEBUI_SECRET_KEY in case the user didn't provide one |
|
SET /p WEBUI_SECRET_KEY=<nul |
|
FOR /L %%i IN (1,1,12) DO SET /p WEBUI_SECRET_KEY=<!random!>>%KEY_FILE% |
|
echo WEBUI_SECRET_KEY generated |
|
) |
|
|
|
echo Loading WEBUI_SECRET_KEY from %KEY_FILE% |
|
SET /p WEBUI_SECRET_KEY=<%KEY_FILE% |
|
) |
|
|
|
:: Execute uvicorn |
|
SET "WEBUI_SECRET_KEY=%WEBUI_SECRET_KEY%" |
|
uvicorn open_webui.main:app --host "%HOST%" --port "%PORT%" --forwarded-allow-ips '*' |
|
|