I have searched the existing issues and discussions.
I am using the latest version of Open WebUI.
Installation Method
Docker
Open WebUI Version
v0.6.18
Ollama Version (if applicable)
No response
Operating System
Ubuntu 22.04
Browser (if applicable)
No response
Confirmation
I have read and followed all instructions in README.md.
I am using the latest version of both Open WebUI and Ollama.
I have included the browser console logs.
I have included the Docker container logs.
I have provided every relevant configuration, setting, and environment variable used in my setup.
I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
Start with the initial platform/version/OS and dependencies used,
Specify exact install/launch/configure commands,
List URLs visited, user input (incl. example values/emails/passwords if needed),
Describe all options and toggles enabled or changed,
Include any files or environmental changes,
Identify the expected and actual result at each stage,
Ensure any reasonably skilled user can follow and hit the same issue.
Expected Behavior
PersistenConfig as per the documentation should be saved to the DB.
Actual Behavior
However this does not to appear to be the case. Most of the PersistenConfig values set through Env are not stored in the SQLite DB
Steps to Reproduce
Set a PersistenConfig through the Environment variables.
Open the DB and check what was stored
Logs & Screenshots
I have set ENABLE_OAUTH_SIGNUP in the Env, but it is not in the database. See below.
I have also had a look at the code and it appears most are really never saved. There is a section in the AppConfig class that appears to be concerned whit this, but it appears to be wrong. It only saves, if the Object is not a PersistenConfig:
openwebui-1 | INFO [alembic.runtime.migration] Context impl SQLiteImpl.
openwebui-1 | INFO [alembic.runtime.migration] Will assume non-transactional DDL.
openwebui-1 | INFO [open_webui.env] 'ENABLE_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_API_KEY_ENDPOINT_RESTRICTIONS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'API_KEY_ALLOWED_ENDPOINTS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'JWT_EXPIRES_IN' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_DIRECT_CONNECTIONS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_OLLAMA_API' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'OLLAMA_BASE_URLS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'OLLAMA_API_CONFIGS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_OPENAI_API' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'OPENAI_API_KEYS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'OPENAI_API_BASE_URLS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'OPENAI_API_CONFIGS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_BASE_MODELS_CACHE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'WEBUI_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_SIGNUP' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'DEFAULT_MODELS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'MODEL_ORDER_LIST' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'DEFAULT_USER_ROLE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'PENDING_USER_OVERLAY_TITLE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'PENDING_USER_OVERLAY_CONTENT' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'RESPONSE_WATERMARK' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_CHANNELS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_NOTES' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'WEBHOOK_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_COMMUNITY_SHARING' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_MESSAGE_RATING' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_USER_WEBHOOKS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'SHOW_ADMIN_DETAILS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
openwebui-1 | INFO [open_webui.env] 'WHISPER_MODEL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'DEEPGRAM_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_OPENAI_API_BASE_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_OPENAI_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_ENGINE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_MODEL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_SUPPORTED_CONTENT_TYPES' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_AZURE_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_AZURE_REGION' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_AZURE_LOCALES' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_AZURE_BASE_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_AZURE_MAX_SPEAKERS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_OPENAI_API_BASE_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_OPENAI_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_ENGINE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_MODEL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_VOICE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_SPLIT_ON' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_AZURE_SPEECH_REGION' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_AZURE_SPEECH_BASE_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_AZURE_SPEECH_OUTPUT_FORMAT' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_LDAP' loaded from the latest database entry
openwebui-1 | WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
Additional Information
No response
Originally created by @mymro on GitHub (Jul 24, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/15984
### Check Existing Issues
- [x] I have searched the existing issues and discussions.
- [x] I am using the latest version of Open WebUI.
### Installation Method
Docker
### Open WebUI Version
v0.6.18
### Ollama Version (if applicable)
_No response_
### Operating System
Ubuntu 22.04
### Browser (if applicable)
_No response_
### Confirmation
- [x] I have read and followed all instructions in `README.md`.
- [x] I am using the latest version of **both** Open WebUI and Ollama.
- [x] I have included the browser console logs.
- [x] I have included the Docker container logs.
- [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.**
- [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
- [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps:
- Start with the initial platform/version/OS and dependencies used,
- Specify exact install/launch/configure commands,
- List URLs visited, user input (incl. example values/emails/passwords if needed),
- Describe all options and toggles enabled or changed,
- Include any files or environmental changes,
- Identify the expected and actual result at each stage,
- Ensure any reasonably skilled user can follow and hit the same issue.
### Expected Behavior
PersistenConfig as per the documentation should be saved to the DB.
### Actual Behavior
However this does not to appear to be the case. Most of the PersistenConfig values set through Env are not stored in the SQLite DB
### Steps to Reproduce
Set a PersistenConfig through the Environment variables.
Open the DB and check what was stored
### Logs & Screenshots
I have set ENABLE_OAUTH_SIGNUP in the Env, but it is not in the database. See below.
I have also had a look at the code and it appears most are really never saved. There is a section in the AppConfig class that appears to be concerned whit this, but it appears to be wrong. It only saves, if the Object is not a PersistenConfig:
<img width="1031" height="226" alt="Image" src="https://github.com/user-attachments/assets/ea556c72-c352-4c36-aeab-c24f5673d7f2" />
Config Json from the DB redacted:
```json
{
"version": 0,
"ui": {
"enable_signup": true,
"default_user_role": "user",
"enable_community_sharing": true,
"enable_message_rating": true,
"enable_user_webhooks": true,
"pending_user_overlay_title": "",
"pending_user_overlay_content": "",
"watermark": "",
"default_models": "GPT-4o",
"model_order_list": [
"GPT-4.1",
"GPT-4o"
]
},
"ollama": {
"enable": false,
"base_urls": [
"http://host.docker.internal:11434"
],
"api_configs": {
"0": {}
}
},
"direct": {
"enable": false
},
"models": {
"base_models_cache": false
},
"openai": {
"enable": true,
"api_base_urls": [
"http://litellm:4000"
],
"api_keys": [
""
],
"api_configs": {
"0": {
"enable": true,
"tags": [],
"prefix_id": "",
"model_ids": [],
"connection_type": "external"
}
}
},
"audio": {
"tts": {
"openai": {
"api_base_url": "https://api.openai.com/v1",
"api_key": ""
},
"api_key": "",
"engine": "azure",
"model": "",
"voice": "de-DE-FlorianMultilingualNeural",
"split_on": "punctuation",
"azure": {
"speech_region": "",
"speech_base_url": "",
"speech_output_format": "audio-48khz-96kbitrate-mono-mp3"
}
},
"stt": {
"openai": {
"api_base_url": "https://api.openai.com/v1",
"api_key": ""
},
"engine": "azure",
"model": "",
"supported_content_types": [
""
],
"whisper_model": "base",
"deepgram": {
"api_key": ""
},
"azure": {
"api_key": "",
"region": "",
"locales": "",
"base_url": "",
"max_speakers": ""
}
}
},
"webhook_url": "",
"auth": {
"admin": {
"show": true
},
"api_key": {
"enable": true,
"endpoint_restrictions": false,
"allowed_endpoints": ""
},
"jwt_expiry": "5h"
},
"webui": {
"url": ""
},
"channels": {
"enable": false
},
"notes": {
"enable": true
},
"ldap": {
"enable": false
}
}
```
Relevant docker log section
```
openwebui-1 | INFO [alembic.runtime.migration] Context impl SQLiteImpl.
openwebui-1 | INFO [alembic.runtime.migration] Will assume non-transactional DDL.
openwebui-1 | INFO [open_webui.env] 'ENABLE_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_API_KEY_ENDPOINT_RESTRICTIONS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'API_KEY_ALLOWED_ENDPOINTS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'JWT_EXPIRES_IN' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_DIRECT_CONNECTIONS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_OLLAMA_API' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'OLLAMA_BASE_URLS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'OLLAMA_API_CONFIGS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_OPENAI_API' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'OPENAI_API_KEYS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'OPENAI_API_BASE_URLS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'OPENAI_API_CONFIGS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_BASE_MODELS_CACHE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'WEBUI_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_SIGNUP' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'DEFAULT_MODELS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'MODEL_ORDER_LIST' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'DEFAULT_USER_ROLE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'PENDING_USER_OVERLAY_TITLE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'PENDING_USER_OVERLAY_CONTENT' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'RESPONSE_WATERMARK' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_CHANNELS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_NOTES' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'WEBHOOK_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_COMMUNITY_SHARING' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_MESSAGE_RATING' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_USER_WEBHOOKS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'SHOW_ADMIN_DETAILS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
openwebui-1 | INFO [open_webui.env] 'WHISPER_MODEL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'DEEPGRAM_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_OPENAI_API_BASE_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_OPENAI_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_ENGINE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_MODEL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_SUPPORTED_CONTENT_TYPES' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_AZURE_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_AZURE_REGION' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_AZURE_LOCALES' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_AZURE_BASE_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_STT_AZURE_MAX_SPEAKERS' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_OPENAI_API_BASE_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_OPENAI_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_API_KEY' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_ENGINE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_MODEL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_VOICE' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_SPLIT_ON' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_AZURE_SPEECH_REGION' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_AZURE_SPEECH_BASE_URL' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'AUDIO_TTS_AZURE_SPEECH_OUTPUT_FORMAT' loaded from the latest database entry
openwebui-1 | INFO [open_webui.env] 'ENABLE_LDAP' loaded from the latest database entry
openwebui-1 | WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
```
### Additional Information
_No response_
GiteaMirror
added the bug label 2026-04-25 07:11:46 -05:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @mymro on GitHub (Jul 24, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/15984
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.6.18
Ollama Version (if applicable)
No response
Operating System
Ubuntu 22.04
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
PersistenConfig as per the documentation should be saved to the DB.
Actual Behavior
However this does not to appear to be the case. Most of the PersistenConfig values set through Env are not stored in the SQLite DB
Steps to Reproduce
Set a PersistenConfig through the Environment variables.
Open the DB and check what was stored
Logs & Screenshots
I have set ENABLE_OAUTH_SIGNUP in the Env, but it is not in the database. See below.
I have also had a look at the code and it appears most are really never saved. There is a section in the AppConfig class that appears to be concerned whit this, but it appears to be wrong. It only saves, if the Object is not a PersistenConfig:
Config Json from the DB redacted:
Relevant docker log section
Additional Information
No response
@tjbck commented on GitHub (Jul 24, 2025):
Unable to reproduce, keep us updated.