mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-23 09:10:55 -05:00
refac
This commit is contained in:
@@ -11,6 +11,7 @@ import uvicorn
|
|||||||
app = typer.Typer()
|
app = typer.Typer()
|
||||||
|
|
||||||
KEY_FILE = Path.cwd() / '.webui_secret_key'
|
KEY_FILE = Path.cwd() / '.webui_secret_key'
|
||||||
|
DEFAULT_SECRET_KEY_LENGTH = 24
|
||||||
|
|
||||||
|
|
||||||
def version_callback(value: bool) -> None:
|
def version_callback(value: bool) -> None:
|
||||||
@@ -37,8 +38,11 @@ def serve(
|
|||||||
if os.getenv('WEBUI_SECRET_KEY') is None:
|
if os.getenv('WEBUI_SECRET_KEY') is None:
|
||||||
typer.echo('Loading WEBUI_SECRET_KEY from file, not provided as an environment variable.')
|
typer.echo('Loading WEBUI_SECRET_KEY from file, not provided as an environment variable.')
|
||||||
if not KEY_FILE.exists():
|
if not KEY_FILE.exists():
|
||||||
|
key_length = int(os.getenv('WEBUI_SECRET_KEY_LENGTH', DEFAULT_SECRET_KEY_LENGTH))
|
||||||
|
if key_length < 1:
|
||||||
|
raise ValueError('WEBUI_SECRET_KEY_LENGTH must be a positive integer')
|
||||||
typer.echo(f'Generating a new secret key and saving it to {KEY_FILE}')
|
typer.echo(f'Generating a new secret key and saving it to {KEY_FILE}')
|
||||||
KEY_FILE.write_bytes(base64.b64encode(random.randbytes(12)))
|
KEY_FILE.write_bytes(base64.b64encode(random.randbytes(key_length)))
|
||||||
typer.echo(f'Loading WEBUI_SECRET_KEY from {KEY_FILE}')
|
typer.echo(f'Loading WEBUI_SECRET_KEY from {KEY_FILE}')
|
||||||
os.environ['WEBUI_SECRET_KEY'] = KEY_FILE.read_text()
|
os.environ['WEBUI_SECRET_KEY'] = KEY_FILE.read_text()
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ fi
|
|||||||
# ── Secret key setup ─────────────────────────────────────────────────────────
|
# ── Secret key setup ─────────────────────────────────────────────────────────
|
||||||
|
|
||||||
KEY_FILE="${WEBUI_SECRET_KEY_FILE:-.webui_secret_key}"
|
KEY_FILE="${WEBUI_SECRET_KEY_FILE:-.webui_secret_key}"
|
||||||
|
WEBUI_SECRET_KEY_LENGTH="${WEBUI_SECRET_KEY_LENGTH:-24}"
|
||||||
PORT="${PORT:-8080}"
|
PORT="${PORT:-8080}"
|
||||||
HOST="${HOST:-0.0.0.0}"
|
HOST="${HOST:-0.0.0.0}"
|
||||||
|
|
||||||
@@ -38,7 +39,11 @@ if [[ -z "${WEBUI_SECRET_KEY:-}" && -z "${WEBUI_JWT_SECRET_KEY:-}" ]]; then
|
|||||||
|
|
||||||
if [[ ! -f "$KEY_FILE" ]]; then
|
if [[ ! -f "$KEY_FILE" ]]; then
|
||||||
echo "Generating new WEBUI_SECRET_KEY..."
|
echo "Generating new WEBUI_SECRET_KEY..."
|
||||||
head -c 12 /dev/random | base64 > "$KEY_FILE"
|
if ! [[ "$WEBUI_SECRET_KEY_LENGTH" =~ ^[1-9][0-9]*$ ]]; then
|
||||||
|
echo "WEBUI_SECRET_KEY_LENGTH must be a positive integer." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
head -c "$WEBUI_SECRET_KEY_LENGTH" /dev/random | base64 > "$KEY_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Loading WEBUI_SECRET_KEY from ${KEY_FILE}"
|
echo "Loading WEBUI_SECRET_KEY from ${KEY_FILE}"
|
||||||
@@ -105,4 +110,4 @@ exec env WEBUI_SECRET_KEY="${WEBUI_SECRET_KEY:-}" \
|
|||||||
--host "$HOST" \
|
--host "$HOST" \
|
||||||
--port "$PORT" \
|
--port "$PORT" \
|
||||||
--forwarded-allow-ips "${FORWARDED_ALLOW_IPS:-*}" \
|
--forwarded-allow-ips "${FORWARDED_ALLOW_IPS:-*}" \
|
||||||
"${ARGS[@]}"
|
"${ARGS[@]}"
|
||||||
|
|||||||
@@ -27,6 +27,9 @@ IF "%HOST%"=="" SET HOST=0.0.0.0
|
|||||||
IF "%FORWARDED_ALLOW_IPS%"=="" SET "FORWARDED_ALLOW_IPS='*'"
|
IF "%FORWARDED_ALLOW_IPS%"=="" SET "FORWARDED_ALLOW_IPS='*'"
|
||||||
SET "WEBUI_SECRET_KEY=%WEBUI_SECRET_KEY%"
|
SET "WEBUI_SECRET_KEY=%WEBUI_SECRET_KEY%"
|
||||||
SET "WEBUI_JWT_SECRET_KEY=%WEBUI_JWT_SECRET_KEY%"
|
SET "WEBUI_JWT_SECRET_KEY=%WEBUI_JWT_SECRET_KEY%"
|
||||||
|
IF "%WEBUI_SECRET_KEY_LENGTH%" == "" (
|
||||||
|
SET "WEBUI_SECRET_KEY_LENGTH=24"
|
||||||
|
)
|
||||||
|
|
||||||
:: Check if WEBUI_SECRET_KEY and WEBUI_JWT_SECRET_KEY are not set
|
:: Check if WEBUI_SECRET_KEY and WEBUI_JWT_SECRET_KEY are not set
|
||||||
IF "%WEBUI_SECRET_KEY% %WEBUI_JWT_SECRET_KEY%" == " " (
|
IF "%WEBUI_SECRET_KEY% %WEBUI_JWT_SECRET_KEY%" == " " (
|
||||||
@@ -36,7 +39,7 @@ IF "%WEBUI_SECRET_KEY% %WEBUI_JWT_SECRET_KEY%" == " " (
|
|||||||
echo Generating WEBUI_SECRET_KEY
|
echo Generating WEBUI_SECRET_KEY
|
||||||
:: Generate a random value to use as a WEBUI_SECRET_KEY in case the user didn't provide one
|
:: 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
|
SET /p WEBUI_SECRET_KEY=<nul
|
||||||
FOR /L %%i IN (1,1,12) DO SET /p WEBUI_SECRET_KEY=<!random!>>%KEY_FILE%
|
FOR /L %%i IN (1,1,%WEBUI_SECRET_KEY_LENGTH%) DO SET /p WEBUI_SECRET_KEY=<!random!>>%KEY_FILE%
|
||||||
echo WEBUI_SECRET_KEY generated
|
echo WEBUI_SECRET_KEY generated
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user