diff --git a/backend/open_webui/config.py b/backend/open_webui/config.py
index 02c3604d2..d9fe01095 100644
--- a/backend/open_webui/config.py
+++ b/backend/open_webui/config.py
@@ -989,6 +989,18 @@ DEFAULT_USER_ROLE = PersistentConfig(
os.getenv("DEFAULT_USER_ROLE", "pending"),
)
+ACCOUNT_PENDING_TEXT = PersistentConfig(
+ "ACCOUNT_PENDING_TEXT",
+ "ui.account_pending_text",
+ os.environ.get("ACCOUNT_PENDING_TEXT", "")
+)
+
+ACCOUNT_PENDING_TITLE = PersistentConfig(
+ "ACCOUNT_PENDING_TITLE",
+ "ui.account_pending_title",
+ os.environ.get("ACCOUNT_PENDING_TITLE", "")
+)
+
USER_PERMISSIONS_WORKSPACE_MODELS_ACCESS = (
os.environ.get("USER_PERMISSIONS_WORKSPACE_MODELS_ACCESS", "False").lower()
== "true"
diff --git a/backend/open_webui/main.py b/backend/open_webui/main.py
index d50b5d319..336067920 100644
--- a/backend/open_webui/main.py
+++ b/backend/open_webui/main.py
@@ -292,6 +292,8 @@ from open_webui.config import (
ENABLE_EVALUATION_ARENA_MODELS,
USER_PERMISSIONS,
DEFAULT_USER_ROLE,
+ ACCOUNT_PENDING_TEXT,
+ ACCOUNT_PENDING_TITLE,
DEFAULT_PROMPT_SUGGESTIONS,
DEFAULT_MODELS,
DEFAULT_ARENA_MODEL,
@@ -573,6 +575,8 @@ app.state.config.ADMIN_EMAIL = ADMIN_EMAIL
app.state.config.DEFAULT_MODELS = DEFAULT_MODELS
app.state.config.DEFAULT_PROMPT_SUGGESTIONS = DEFAULT_PROMPT_SUGGESTIONS
app.state.config.DEFAULT_USER_ROLE = DEFAULT_USER_ROLE
+app.state.config.ACCOUNT_PENDING_TEXT = ACCOUNT_PENDING_TEXT
+app.state.config.ACCOUNT_PENDING_TITLE = ACCOUNT_PENDING_TITLE
app.state.config.USER_PERMISSIONS = USER_PERMISSIONS
app.state.config.WEBHOOK_URL = WEBHOOK_URL
@@ -1397,6 +1401,10 @@ async def get_app_config(request: Request):
"sharepoint_url": ONEDRIVE_SHAREPOINT_URL.value,
"sharepoint_tenant_id": ONEDRIVE_SHAREPOINT_TENANT_ID.value,
},
+ "ui": {
+ "account_pending_title": app.state.config.ACCOUNT_PENDING_TITLE,
+ "account_pending_text": app.state.config.ACCOUNT_PENDING_TEXT,
+ },
"license_metadata": app.state.LICENSE_METADATA,
**(
{
diff --git a/backend/open_webui/routers/auths.py b/backend/open_webui/routers/auths.py
index 70eea3c97..60806df9d 100644
--- a/backend/open_webui/routers/auths.py
+++ b/backend/open_webui/routers/auths.py
@@ -696,6 +696,8 @@ async def get_admin_config(request: Request, user=Depends(get_admin_user)):
"ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
"ENABLE_NOTES": request.app.state.config.ENABLE_NOTES,
"ENABLE_USER_WEBHOOKS": request.app.state.config.ENABLE_USER_WEBHOOKS,
+ "ACCOUNT_PENDING_TEXT": request.app.state.config.ACCOUNT_PENDING_TEXT,
+ "ACCOUNT_PENDING_TITLE": request.app.state.config.ACCOUNT_PENDING_TITLE,
}
@@ -713,6 +715,8 @@ class AdminConfig(BaseModel):
ENABLE_CHANNELS: bool
ENABLE_NOTES: bool
ENABLE_USER_WEBHOOKS: bool
+ ACCOUNT_PENDING_TEXT: Optional[str] = None
+ ACCOUNT_PENDING_TITLE: Optional[str] = None
@router.post("/admin/config")
@@ -750,6 +754,9 @@ async def update_admin_config(
request.app.state.config.ENABLE_USER_WEBHOOKS = form_data.ENABLE_USER_WEBHOOKS
+ request.app.state.config.ACCOUNT_PENDING_TEXT = form_data.ACCOUNT_PENDING_TEXT
+ request.app.state.config.ACCOUNT_PENDING_TITLE = form_data.ACCOUNT_PENDING_TITLE
+
return {
"SHOW_ADMIN_DETAILS": request.app.state.config.SHOW_ADMIN_DETAILS,
"WEBUI_URL": request.app.state.config.WEBUI_URL,
@@ -764,6 +771,8 @@ async def update_admin_config(
"ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
"ENABLE_NOTES": request.app.state.config.ENABLE_NOTES,
"ENABLE_USER_WEBHOOKS": request.app.state.config.ENABLE_USER_WEBHOOKS,
+ "ACCOUNT_PENDING_TEXT": request.app.state.config.ACCOUNT_PENDING_TEXT,
+ "ACCOUNT_PENDING_TITLE": request.app.state.config.ACCOUNT_PENDING_TITLE,
}
diff --git a/src/lib/components/admin/Settings/General.svelte b/src/lib/components/admin/Settings/General.svelte
index 3741168f8..ce5d22430 100644
--- a/src/lib/components/admin/Settings/General.svelte
+++ b/src/lib/components/admin/Settings/General.svelte
@@ -305,6 +305,26 @@