mirror of
https://github.com/open-webui/open-webui.git
synced 2026-03-10 07:43:10 -05:00
feat: Built-in backup/restore with version safety and selective export #6104
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Evolver70 on GitHub (Aug 15, 2025).
Check Existing Issues
Problem Description
Currently, OpenWebUI does not provide a built-in backup/restore system for user configurations, model metadata, prompt templates, or chat history. While it's possible to manually back up the
/openwebui/datadirectory (e.g. via Docker volume), this approach has several limitations:This makes it risky and technically challenging to move OpenWebUI to a new environment or recover from data loss.
Desired Solution you'd like
I'd like to see a built-in backup & restore system in OpenWebUI with the following features:
1. User-Friendly Backup Tool
.ziparchive containing:config.json(general settings)db.sqlite3(full database)playground/folder (custom prompt templates)manifest.jsonwith:2. Selective Restore & Version Safety
3. Ollama Model Integration (Optional but valuable)
ollama list)ollama export model_name.zip(to include in backup)ollama import4. Export as Human-Readable Format (Bonus)
.jsonor.yamlfor easier inspection, sharing, or version control.This would make OpenWebUI much more robust, user-friendly, and suitable for long-term use — especially for non-technical users or those managing multiple deployments.
Alternatives Considered
No response
Additional Context
No response
@Evolver70 commented on GitHub (Aug 15, 2025):
Extra suggestion: Version-Aware Backup Reminder with User Control
To improve data safety, OpenWebUI could help users ensure they have a recent backup that’s compatible with the currently running version.
How it could work:
manifest.jsonor similar file inside each backup).Why this helps:
Add a user preference:
Include a toggle in the settings to control this behavior:
This way:
A small feature with a big impact on peace of mind. 💾
Even if OpenWebUI can't scan backup files directly (e.g. when backups are stored outside the container), it could still track the last known backup state internally using its existing database (
db.sqlite3or equivalent).How it could work:
last_successful_backup_version(e.g.v0.4.2)last_successful_backup_timestamp(e.g.2025-04-05T14:30:00Z)Bonus: Manual override button
Add a UI option:
Why this helps:
Note: It's not 100% foolproof (e.g. user deletes backup later), but it's a practical, UX-friendly nudge that aligns with real-world usage patterns.