« ShinyProxy » : différence entre les versions

De Wiki ISIG
Aller à la navigation Aller à la recherche
Ligne 7 : Ligne 7 :


== Conteneurisation de votre appli Shiny ==
== Conteneurisation de votre appli Shiny ==
https://rocker-project.org/images/
Pour construire l'image docker à l'aide du Dockerfile, il faut lancer la commande docker build. Il est important de taguer l'image avec l'option -t.
Pour construire l'image docker à l'aide du Dockerfile, il faut lancer la commande docker build. Il est important de taguer l'image avec l'option -t.



Version du 6 février 2025 à 13:59

Attention : Page en cours de rédaction

ISIG-Apps passe sous ShinyProxy pour améliorer la stabilité et l'isolation de vos applications pendant les montées en charge. Le fonctionnement est très différent par rapport à l'ancien Shiny-Server et nécessite quelques bases dans l'utilisation de Docker. L'objectif de cette page est de vous guider, rapidement et simplement, dans le nouveau workflow dev > prod en partant du principe que vous ne connaissez encore pas grand-chose à Docker.

Principe de fonctionnement de ShinyProxy

ShinyProxy fonctionne comme un orchestrateur de conteneurs Docker. Chaque appli configurée doit avoir une image Docker associée présente sur le serveur qui exécute ShinyProxy. C'est ShinyProxy qui s'occupera ensuite de lancer et stopper un conteneur à chaque fois qu'un internaute se connectera ou se déconnectera de votre appli.

Conteneurisation de votre appli Shiny

https://rocker-project.org/images/

Pour construire l'image docker à l'aide du Dockerfile, il faut lancer la commande docker build. Il est important de taguer l'image avec l'option -t.

docker build ./Dockerfile -t ghcr.io/evs-gis/mapdoapp:latest -t ghcr.io/evs-gis/mapdoapp:2.0.1 -t ghcr.io/evs-gis/mapdoapp:$(git rev-parse --short HEAD)

Configuration sur l'instance de dev

Forcer le redémarrage de tous les containers de votre appli (utile uniquement dans le cas où vous avez paramétré un nombre minimum de sièges supérieur à 0)

docker container restart $(docker ps -q -f ancestor="ghcr.io/evs-gis/mapdoapp:latest")

Configuration sur l'instance de prod

Mise à jour d'une appli