Updating Open WebUI
Stay current without losing your data.
Your data (chats, users, settings, uploads) lives in a Docker volume or local database, not inside the container. Updating Open WebUI means swapping the container image for a newer one. Your data stays exactly where it is.
Choose Your Update Strategy
Before running any commands, decide how you want to track releases. The right choice depends on how you use Open WebUI.
| Scenario | Recommended approach |
|---|---|
| Personal / homelab | Use the :main tag and pull manually when you want the latest |
| Shared / team instance | Pin a specific version (e.g. :vX.Y.Z) and use Diun for update notifications |
| Production / critical | Pin a version, review release notes before upgrading, test in staging first |
| Testing the next release | Run the :dev pre-release on a second instance with its own volume, alongside whatever you run in production |
Whichever row you are in, a second instance on :dev is worth having, and adding one costs you a tag, a volume and a port. It shows you the next release before it reaches your users, it tells you whether your plugins and your configuration still work, and anything it turns up gets fixed before the release rather than after it.
:main vs. Pinned Versions
The :main tag always points to the latest build. It's convenient but can include breaking changes without warning.
For stability, pin a specific release tag:
ghcr.io/open-webui/open-webui:vX.Y.Z
ghcr.io/open-webui/open-webui:vX.Y.Z-cuda
ghcr.io/open-webui/open-webui:vX.Y.Z-ollama
Browse all available tags on the GitHub releases page.