start_windows.bat 1.2 KB

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