| 
									
										
										
										
											2024-02-18 03:25:11 +08:00
										 |  |  | :: This method is not recommended, and we recommend you use the `start.sh` file with WSL instead. | 
					
						
							| 
									
										
										
										
											2024-02-18 02:41:17 +08:00
										 |  |  | @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" | 
					
						
							| 
									
										
										
										
											2024-04-24 21:11:23 +08:00
										 |  |  | IF "%PORT%"=="" SET PORT=8080 | 
					
						
							| 
									
										
										
										
											2024-02-18 02:41:17 +08:00
										 |  |  | 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%" == " " ( | 
					
						
							| 
									
										
										
										
											2024-05-08 20:03:03 +08:00
										 |  |  |     echo Loading WEBUI_SECRET_KEY from file, not provided as an environment variable. | 
					
						
							| 
									
										
										
										
											2024-02-18 02:41:17 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     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 main:app --host 0.0.0.0 --port "%PORT%" --forwarded-allow-ips '*' |