« ShinyProxy » : différence entre les versions

mAucun résumé des modifications
 
(2 versions intermédiaires par la même utilisatrice non affichées)
Ligne 158 : Ligne 158 :
Pour que le serveur ShinyProxy (ainsi que le monde entier !) puisse accéder à votre image, il faut la pousser sur un registre. Si vous ne souhaitez pas que votre image soit publique, vous pouvez utiliser le registre ghcr.io/evs-gis (le serveur ShinyProxy y a accès même si les images sont privées).  
Pour que le serveur ShinyProxy (ainsi que le monde entier !) puisse accéder à votre image, il faut la pousser sur un registre. Si vous ne souhaitez pas que votre image soit publique, vous pouvez utiliser le registre ghcr.io/evs-gis (le serveur ShinyProxy y a accès même si les images sont privées).  


Il faut d'abord se loguer sur le registre avec son login GitHub habituel, et un ''Personal Access Token'' en guise de mot de passe. Pour [https://github.com/settings/tokens/new obtenir un ''Personal Access Token''], rendez-vous [https://github.com/settings/tokens/new ici] et activez bien le droit <code>write:packages</code> pour votre token.  <syntaxhighlight lang="sh">
Il faut d'abord se loguer sur le registre avec son login GitHub habituel, et un ''Personal Access Token'' en guise de mot de passe. Pour [https://github.com/settings/tokens/new obtenir un ''Personal Access Token''], rendez-vous [https://github.com/settings/tokens/new ici] et activez bien le droit <code>write:packages</code> pour votre token.  <syntaxhighlight lang="sh"># La commande suivante est à lancer pour se loguer sur le registre. Il n'est pas nécessaire de la relancer à chaque fois.
# La commande suivante est à lancer pour se loguer sur le registre. Il n'est pas nécessaire de la relancer à chaque fois.
docker login ghcr.io
docker login ghcr.io


Ligne 166 : Ligne 165 :


# Pour pousser seulement un tag spécifique, on préfèrera la commande suivante.
# Pour pousser seulement un tag spécifique, on préfèrera la commande suivante.
docker push ghcr.io/evs-gis/mapdoapp:latest
docker push ghcr.io/evs-gis/mapdoapp:latest</syntaxhighlight>
</syntaxhighlight>


== Configuration de l'application sur le serveur ShinyProxy de production ==
== Configuration de l'application sur le serveur ShinyProxy de production ==
Ligne 197 : Ligne 195 :
</syntaxhighlight>On peut aussi combiner défilement en live + grep<syntaxhighlight lang="bash">
</syntaxhighlight>On peut aussi combiner défilement en live + grep<syntaxhighlight lang="bash">
tail -f /data/echanges/ShinyProxyLogs/shinyapps-std*.log | grep mapdoapp
tail -f /data/echanges/ShinyProxyLogs/shinyapps-std*.log | grep mapdoapp
</syntaxhighlight>
== To do list mise en ligne d'une nouvelle appli ==
1) récupérer dans le dossier d'une appli déjà mise en ligne sur ShinyProxy: run.R (si appli learnr), dockerfile, et le dossier .github qui contient un yaml qui permettra de build et push l'image docker sur le ShinyProxy.
2) modifier dans run.R (si appli learnr) le nom du Rmd à tricoter
3) modifier dans le yaml le nom de l'image docker (deux lignes à changer)
4) modifier le dockerfile: infos sur l'appli et noms des packages à installer
5) build l'image docker localement pour vérifier que tout est ok, par ex. <syntaxhighlight lang="bash">
docker build . -t ghcr.io/lvaudor/learnr_exos_shiny:latest
</syntaxhighlight>6) run un container pour vérifier que tout est ok, par ex.<syntaxhighlight lang="bash">
docker run --rm -p 3840:3840 ghcr.io/learnr_shiny_exos:latest
</syntaxhighlight>7) Aller sur le repo github et changer paramètres: Settings => Actions => General => Workflow permissions => Cocher Read and write permissions
8) Faire un commit et push des dernières modifs sur main => Une image docker doit être créée dans les github Actions
9) Prévenir Samuel pour qu'il ajoute la nouvelle appli au registre
== To do list mise à jour d'une appli ==
1) build l'image docker localement pour vérifier que tout est ok, par ex.<syntaxhighlight lang="bash">
docker build . -t ghcr.io/lvaudor/learnr_exos_shiny:latest
</syntaxhighlight>2) run un container pour vérifier que tout est ok, par ex.<syntaxhighlight lang="bash">
docker run --rm -p 3840:3840 ghcr.io/learnr_shiny_exos:latest
</syntaxhighlight>3) Faire le docker push pour mettre à jour le registre<syntaxhighlight lang="bash">
docker push ghcr.io/lvaudor/learnr_shiny_exos:latest
</syntaxhighlight>
</syntaxhighlight>
[[Catégorie:Tutoriel]]
[[Catégorie:Tutoriel]]