Upgrade OpenRAG
Use these steps to upgrade your OpenRAG deployment to the latest version or a specific version.
Export customized flows before upgrading
If you modified the built-in flows or created custom flows in your OpenRAG Langflow instance, export your flows before upgrading. This ensures that you won't lose your flows after upgrading, and you can reference the exported flows if there are any breaking changes in the new version.
Upgrade terminal-managed deployments
To upgrade OpenRAG, you need to upgrade the OpenRAG Python package, and then upgrade the OpenRAG containers.
Upgrading the Python package also upgrades Docling by bumping the dependency in pyproject.toml.
This is a two-part process because upgrading the OpenRAG Python package updates the OpenRAG terminal and Python code, but the container versions are controlled by environment variables in your OpenRAG .env file.
- If you modified the built-in flows or created custom flows in your OpenRAG Langflow instance, export your flows before starting this process. Exporting your flows is recommended because it creates backups of your flow customizations. Afterwards, you can reimport your flows or reference the exported flow JSON as needed.
-
To check for updates, you must start the terminal session with
--tui, such asuv run openrag --tui. -
Click Status in the TUI, and then click Upgrade.
-
If there is an update available, press Esc to close the Status page, then then click Stop All Services.
-
Press q to exit the TUI.
-
Upgrade the OpenRAG Python package to the latest version from PyPI. The commands to upgrade the package depend on how you installed OpenRAG.
- uvx
- uv add
Use these steps to upgrade the Python package if you installed OpenRAG using
uvx:-
Navigate to your OpenRAG workspace directory:
cd openrag-workspace -
Upgrade the OpenRAG package:
uvx --from openrag openragYou can invoke a specific version using any of the
uvxversion specifiers, such as--from:uvx --from openrag==0.1.30 openrag
Use these steps to upgrade the Python package if you installed OpenRAG with
uv add:-
Navigate to your project directory:
cd YOUR_PROJECT_NAME -
Update OpenRAG to the latest version:
uv add --upgrade openragTo upgrade to a specific version:
uv add --upgrade openrag==0.1.33To update
uv.lock, and then sync the virtual environment separately:uv lock --upgrade-package openrag
uv sync -
Start the OpenRAG terminal session:
uv run openrag
-
In the OpenRAG terminal session, select the Start services option, and then wait while the services start.
When you start services, OpenRAG dictates the container version at runtime. It automatically sets the
OPENRAG_VERSIONvariable in your.envfile to match the currently installed OpenRAG Python package version. This ensures that your terminal and containers are always synchronized when using an OpenRAG terminal session to manage services. If you want to use a specific container version that is different from your terminal version, you must use the self-managed deployment commands.If you get an error that
langflow container already existserror during upgrade, see Langflow container already exists during upgrade. -
After the containers start, select the Open OpenRAG in browser option if the app doesn't launch automatically.
Upgrade self-managed deployments
- If you modified the built-in flows or created custom flows in your OpenRAG Langflow instance, export your flows before starting this process. Exporting your flows is recommended because it creates backups of your flow customizations. Afterwards, you can reimport your flows or reference the exported flow JSON as needed.
-
Fetch and apply the latest container images while preserving your OpenRAG data:
Dockerdocker compose pull
docker compose up -d --force-recreatePodmanpodman compose pull
podman compose up -d --force-recreateBy default, OpenRAG's
docker-composefiles pull the latest container images. To use a specific earlier version, you setOPENRAG_VERSIONin your.envfile to the desired image tag, and then run OpenRAG withdocker compose,podman compose, ormakecommands. Overriding theOPENRAG_VERSIONis only possible with self-managed deployments. This allows you to pin your OpenRAG containers to a specific version rather than deploying the latest version. -
After the containers start, access the OpenRAG application at
http://localhost:3000.