Skip to main content
Regularly update Open WebUI to get the latest features, bug fixes, and security patches.

Before Updating

Always backup your data before updating to prevent data loss in case of issues.

Backup Your Data

# Create backup directory
mkdir -p ~/open-webui-backups

# Backup the data volume
docker run --rm \
  -v open-webui:/data \
  -v ~/open-webui-backups:/backup \
  alpine tar czf /backup/open-webui-backup-$(date +%Y%m%d-%H%M%S).tar.gz -C /data .

Docker Updates

Standard Docker Installation

1

Stop the Container

docker stop open-webui
2

Remove the Container

docker rm open-webui
3

Pull Latest Image

docker pull ghcr.io/open-webui/open-webui:main
4

Start New Container

Run the same docker run command you used initially. For example:
docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

One-Line Update Script

Create an update script for convenience:
update-open-webui.sh
#!/bin/bash
set -e

echo "Updating Open WebUI..."

# Stop and remove container
docker stop open-webui
docker rm open-webui

# Pull latest image
docker pull ghcr.io/open-webui/open-webui:main

# Start new container
docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

echo "Update complete!"
Make it executable and run:
chmod +x update-open-webui.sh
./update-open-webui.sh

Using Watchtower for Automatic Updates

Watchtower automatically updates running Docker containers:
docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower \
  --cleanup \
  --interval 86400 \
  open-webui
This checks for updates daily and automatically updates the open-webui container.

Docker Compose Updates

1

Pull Latest Images

docker compose pull
2

Restart Services

docker compose up -d

Docker Compose Update Script

update-compose.sh
#!/bin/bash
set -e

echo "Updating Open WebUI via Docker Compose..."

# Pull latest images
docker compose pull

# Restart with new images
docker compose up -d

# Clean up old images
docker image prune -f

echo "Update complete!"

Kubernetes Updates

Update Deployment Image

1

Update Image Tag

Edit your deployment manifest or use kubectl:
kubectl set image deployment/open-webui \
  open-webui=ghcr.io/open-webui/open-webui:main \
  -n open-webui
2

Monitor Rollout

kubectl rollout status deployment/open-webui -n open-webui
3

Verify Update

kubectl get pods -n open-webui
kubectl logs -f deployment/open-webui -n open-webui

Rollback if Needed

If the update causes issues:
kubectl rollout undo deployment/open-webui -n open-webui

GitOps (ArgoCD/Flux)

If using GitOps:
  1. Update the image tag in your Git repository
  2. Commit and push changes
  3. ArgoCD/Flux will automatically sync the changes
spec:
  template:
    spec:
      containers:
      - name: open-webui
        image: ghcr.io/open-webui/open-webui:v0.2.0  # Update this

Python pip Updates

Update to Latest Version

pip install --upgrade open-webui

Update with All Dependencies

pip install --upgrade --force-reinstall open-webui

Update to Specific Version

pip install open-webui==0.2.0

Check Current Version

pip show open-webui

Version-Specific Updates

Updating from Ollama WebUI

If you’re updating from the old Ollama WebUI:
1

Backup Data

The database will be automatically migrated from ollama.db to webui.db.
# Backup just in case
cp /app/backend/data/ollama.db /app/backend/data/ollama.db.backup
2

Update Container

Follow the standard Docker update process. The migration happens automatically on first run.

Major Version Updates

For major version updates, check the changelog for:
  • Breaking changes
  • New required environment variables
  • Database migrations
  • Configuration changes

Checking for Updates

Current Version

Check your current version:
docker exec open-webui cat /app/package.json | grep version

Latest Available Version

# Check GitHub releases
curl -s https://api.github.com/repos/open-webui/open-webui/releases/latest | grep tag_name

# Check Docker Hub
curl -s https://api.github.com/repos/open-webui/open-webui/releases/latest | jq -r '.tag_name'

Version Update Check

Open WebUI can automatically check for updates if enabled:
ENABLE_VERSION_UPDATE_CHECK=true

Update Frequency Recommendations

  • Production: Update monthly or when security patches are released
  • Development: Update weekly to get latest features
  • Critical Security Updates: Apply immediately

Database Migrations

Open WebUI automatically runs database migrations on startup when ENABLE_DB_MIGRATIONS=true (default).

Manual Migration Control

To disable automatic migrations:
ENABLE_DB_MIGRATIONS=false

Verify Migration Status

Check logs after update:
# Docker
docker logs open-webui | grep migration

# Kubernetes
kubectl logs deployment/open-webui -n open-webui | grep migration

Troubleshooting Updates

Update Fails to Start

  1. Check logs for errors:
docker logs open-webui
  1. Verify environment variables are still set correctly
  2. Check for breaking changes in release notes

Database Migration Errors

If migration fails:
  1. Restore from backup
  2. Check GitHub Issues
  3. Try disabling migrations temporarily:
ENABLE_DB_MIGRATIONS=false

Configuration Issues

If configuration seems lost:
  1. Verify volume is mounted correctly:
docker inspect open-webui | grep Mounts -A 10
  1. Check data directory permissions:
docker exec open-webui ls -la /app/backend/data

Rolling Back

Docker Rollback

# Stop current version
docker stop open-webui
docker rm open-webui

# Pull specific older version
docker pull ghcr.io/open-webui/open-webui:v0.1.123

# Start with older version
docker run -d -p 3000:8080 \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:v0.1.123

pip Rollback

pip install open-webui==0.1.123

Update Notifications

Subscribe to Updates

GitHub Watch

  1. Go to https://github.com/open-webui/open-webui
  2. Click “Watch” → “Custom” → “Releases”
  3. Get notified of new releases

Best Practices

1

Test in Staging

Test updates in a staging environment before applying to production.
2

Backup First

Always backup your data before updating.
3

Read Release Notes

Check the changelog for breaking changes and new features.
4

Plan Downtime

Schedule updates during low-usage periods.
5

Monitor After Update

Watch logs and user feedback after updating.

Automated Update Pipeline

For production deployments, consider this workflow:
.github/workflows/update-open-webui.yml
name: Update Open WebUI

on:
  schedule:
    - cron: '0 2 * * 0'  # Weekly on Sunday at 2 AM
  workflow_dispatch:  # Manual trigger

jobs:
  update:
    runs-on: ubuntu-latest
    steps:
      - name: Backup Data
        run: |
          # Your backup script
          
      - name: Update Docker Container
        run: |
          docker pull ghcr.io/open-webui/open-webui:main
          docker stop open-webui
          docker rm open-webui
          # Restart with new image
          
      - name: Verify Health
        run: |
          sleep 30
          curl -f http://localhost:8080/health || exit 1
          
      - name: Notify on Failure
        if: failure()
        run: |
          # Send notification (email, Slack, etc.)

Next Steps

Docker Deployment

Docker deployment guide

Kubernetes

Kubernetes deployment

Environment Variables

Configuration reference

Troubleshooting

Common issues and solutions