How to update Lizmap_server extension in qgis-server container (docker)

I’ve installed a lizmap application in a docker swarm environment.
I’m getting a message in the administration panel: lizmap_server needs to be updated (in french: L’extension lizmap_server doit être mise à jour)
It seems that i need to update the lizmap_server extension in the qgis-server container, but i don’t know how to do this.
Perhaps there is an environment variable to set somewhere before qgis-server container starts …

I would appreciate any help on this topics.

Used versions:

  • Lizmap web client: 3.7.11
  • Qgis-server: 3.34.11 (same message appears with 3.36 and 3.38)
  • Py-qgis-server: 1.9.3
  • Lizmap server: 2.9.2

@Clastre you simply need to follow the guide on this url

Cheers

Thanks for the information, but i cannot find any relevant information about my context: the qgis-server runs in a docker container.
Can you precise for dummies … ?

1 Like

the qgis-lizmap-server-plugin it’s a qgis server plugin so no matter your LWC runs on docker or classic installation, because of LWC is anyway a qgis server client @gustry can you confirm?

moved this Lizmap - OSGeo Discourse category.

OK. But as all components of my lizmap configuration are running in docker containers, the Qgis-server is also a docker container. The question becomes: how can i update the qgis-lizmap-server-plugin, as the image is coming directly from the 3liz dockerhub ? I was looking for an environment variable i could push to the container in order to change this plugin version number.

1 Like

run the following commands

docker exec -it qgisserver qgis-plugin-manager update
docker exec -it qgisserver qgis-plugin-manager upgrade
docker stop qgisserver
docker start qgisserver

The 3liz/qgis-map-server image does not provide any plugin by default.

But indeed, QGIS-Plugin-Manager is included in the docker image. So you can use QPM to install and upgrade plugins.

It’s working fine ! Thank you very much.
In a docker swarm environment, you can activate load balancing, and therefore, you can create as many containers as needed to render multiple queries at same time.
Now, i need to find a way to run these commands on container start automatically, something like an entrypoint.
But I think this could be a good idea to provide a variable on container start. This variable could store the needed plugins for the qgis-server container.

You can create ticket for your feature request, or feel free to provide a PR on GitHub, thanks.
I think a simple bash script can be done indeed, reading plugins from a file.

With the new version Py-QGIS-Server 2 (temporary name for now) and related Docker images 3liz/qgis-services, it’s possible to define the list of plugins from the configuration file :

# Plugins allowed to install from plugin paths
[worker.plugins]
install = [
    "Lizmap server",
    "atlasprint",
    "wfsOutputExtension",
]
# Auto install plugins from embedded plugin manager
install_mode = "auto"