Maintenance¶
How to upgrade¶
There are different things that can be upgraded:
- The python package dependencies (normal dependencies and dev dependencies)
- Check outdated Python packages:
uv run cli show-outdated(check Python section in output) uv lock --upgradewill update packages according to their version range inpyproject.toml- Other upgrades (e.g. major versions) must be upgraded by modifying the version range in
pyproject.tomlbefore callinguv lock --upgrade - Python and uv in
Dockerfilethat builds the container where RADIS runs in - Dependent services in
docker-compose.base.yml, like PostgreSQL - Github Codespaces development container dependencies in
.devcontainer/devcontainer.jsonand.devcontainer/Dockerfile - Github actions
.github/workflows/ci.ymldependencies
Stray inference containers¶
RADIS sends all inference to the endpoint in LLM_BASE_URL and runs no inference server of its own. Docker keeps containers and Swarm services that the compose files do not define, so a deployment that still runs one needs it cleaned up by hand.
Development: pass --remove-orphans, which removes containers of this project that the compose files no longer define:
A model cache volume of such a container outlives it; find it with docker volume ls and remove it with docker volume rm.
Production (Docker Swarm): pass --prune, which removes services the deployment no longer declares. Only do so when deploying the complete set of compose files, since Swarm removes every service the deployment does not mention:
To look first, or to clean up without redeploying:
docker service ls # look for a service the compose files do not define
docker service rm <service>
docker volume ls # and its model volume, on each node that holds one
docker volume rm <volume>
Search language configs¶
RADIS reads available text search configs from Postgres (pg_ts_config) and auto-maps language codes to matching configs (falling back to simple). If new dictionaries/configs are installed in Postgres, run ./manage.py refresh_search_configs to clear the cache (no restart needed). Existing reports keep their old index until they are saved again; there is no reindex command.