🔄 Updating Sage WebUI
Why isn't my Sage WebUI updating?
To update your local Docker installation of Sage WebUI to the latest version available, you can either use Watchtower or manually update the container. Follow either of the steps provided below to be guided through updating your existing Sage WebUI image.
Manual Update
-
Stop and remove the current container:
This will stop the running container and remove it, but it won't delete the data stored in the Docker volume. (Replace
sage-open-webui
with your container's name throughout the updating process if it's different for you.)
docker rm -f sage-open-webui
-
Pull the latest Docker image:
This will update the Docker image, but it won't update the running container or its data.
docker pull ghcr.io/Startr/AI-WEB-openwebui:main
Remove any existing data in the Docker volume (NOT RECOMMENDED UNLESS ABSOLUTELY NECCESSARY!). Skip this step entirely if not needed and move on to the last step:
If you want to start with a clean slate, you can remove the existing data in the Docker volume. Be careful, as this will delete all your chat histories and other data.
The data is stored in a Docker volume named sage-open-webui
. You can remove it with the following command:
docker volume rm sage-open-webui
-
Start the container again with the updated image and existing volume attached:
If you didn't remove the existing data, this will start the container with the updated image and the existing data. If you removed the existing data, this will start the container with the updated image and a new, empty volume. For Nvidia GPU support, add
--gpus all
to the docker run command
docker run -d -p 3000:8080 -v sage-open-webui:/app/backend/data --name sage-open-webui ghcr.io/Startr/AI-WEB-openwebui:main
Automatically Updating Sage WebUI with Watchtower
You can use Watchtower to automate the update process for Sage WebUI. Here are three options:
Option 1: One-time Update
You can run Watchtower as a one-time update to stop the current container, pull the latest image, and start a new container with the updated image and existing volume attached (For Nvidia GPU support, add --gpus all
to the docker run command):
docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once sage-open-webui
Option 2: Running Watchtower as a Separate Container
You can run Watchtower as a separate container that watches and updates your Sage WebUI container:
docker run -d --name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -i 300 sage-open-webui
This will start Watchtower in detached mode, watching your Sage WebUI container for updates every 5 minutes.
Option 3: Integrating Watchtower with a docker-compose.yml
File
You can also integrate Watchtower with your docker-compose.yml
file to automate updates for Sage WebUI (For Nvidia GPU support, add --gpus all
to the docker run command):
version: '3'
services:
sage-open-webui:
image: ghcr.io/Startr/AI-WEB-openwebui:main
ports:
- "3000:8080"
volumes:
- sage-open-webui:/app/backend/data
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --interval 300 sage-open-webui
depends_on:
- sage-open-webui
volumes:
sage-open-webui:
In this example, Watchtower is integrated with the docker-compose.yml
file and watches the Sage WebUI container for updates every 5 minutes.
Persistent Data in Docker Volumes
The data is stored in a Docker volume named sage-open-webui
. The path to the volume is not directly accessible, but you can inspect the volume with the following command:
docker volume inspect sage-open-webui
This will show you the details of the volume, including the mountpoint, which is usually located in /var/lib/docker/volumes/sage-open-webui/_data
.
On Windows 10 + WSL 2, Docker volumes are located here (type in the Windows file explorer):
- \\wsl$\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes
For older versions of Docker (pre-Docker v26.1.4):
- \\wsl$\docker-desktop-data\data\docker\volumes
- \\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes
(Windows answer credit to StackOverflow user sarye-haddadi; link to original SO post)