Serveur ShinyR avec applications personnalisées
Préparation du dépôt personnalisé
- Copiez ce dépôt :
git clone https://plmlab.math.cnrs.fr/plmshift/shiny-custom.gitet poussez-le sur un serveur GIT de votre choix (PLMlab par exemple)- ou bien en cliquant
Forksur la page d'accueil de ce dépôt
- Dans le dossier ShinyApps, éditez les fichiers
ui.Retserver.R - Dans le fichier
requirements.txt, listez les packagesRà installer (ceux qui sont appelés vialibraryourequiredans vos fichiersR)
Déploiement de votre instance ShinyR
- Créez un projet
- Instanciez une application Shiny R depuis le catalogue en choisissant Shiny R Application Server
- Renseignez l'URL de votre dépôt shiny-custom
- si votre dépôt est public ou privé, l'URL sera de la forme :
https://plmlab.math.cnrs.fr/votre_groupe/shiny-custom.git - dans le cas d'un dépôt privé, l'URL peut aussi avoir la forme :
git@plmlab.math.cnrs.fr:votre_groupe/shiny-custom.git1
- si votre dépôt est public ou privé, l'URL sera de la forme :
- Patientez et ensuite connectez-vous sur l'URL de votre déploiement
- Le dossier
/opt/app-root/srcest le point de montage d'un volume persistant contenant : - le dossier
ShinyApps: votre application - le dossier
logs: les logs de votre application - Le dossier
/opt/app-root/Rvos packages supplémentaires (voir ci-dessous)
Si vous choisissez un nom spécifique pour le paramètre APPLICATION_NAME, vous pouvez installer plusieurs instances ShinyR, basées sur différents dépôts git dans un même projet PLMShift. Dans ce cas, vous pourriez devoir contacter le support de la PLM car le quota par défaut associé à un projet peut être insuffisant.
Cycle de vie de votre application
- Editez les fichiers dans le dossier
ShinyAppsde votre dépôt shiny-custom, mettez à jour (git push) le dépôt git - Relancez la fabrication de votre image
Installation de packages R supplémentaires
L'installation de packages se fera dans le dossier /opt/app-root/R.
Il vous suffit de créer un fichier nommé requirements.txt à la racine de votre dépôt contenant les packages à installer (un nom par ligne), comme par exemple :
shinydashboard
ggplot2
dplyr
monlogingithub/monrepogithub
(monlogingithub/monrepogithub correspond à un package sur un dépôt GIT distant)
Ensuite, Relancez la fabrication de votre image
Vous pouvez aussi installer des packages en live. Ce n'est pas recommandé car ces ajouts disparaîtrons au redémarrage de votre application (Pod). Cela peut être utile pour le développement.
connectez-vous au Pod :
oc get pods
oc rsh shiny-2-asce44 (selon ce que donne oc get pods)
au prompt du Shell :
sh-4.2$ R
> install.packages('mon_package')
> Ctrl D
Configuration du Build
Dans le cas où l'installation des packages requiert de l'espace disque, mémoire
et de la CPU (en général si cela nécessite de la compilation en C ou Fortran par exemple),
ajustez les variables BUILD_MEMORY_REQUESTet BUILD_CPU_REQUEST.
Les valeurs ne peuvent pas dépasser le quota alloué à votre projet.
Vous pouvez aussi changer le nom du dépôt CRAN dans le cas où ce dernier est indisponible.
Build incrémental
Chaque Build reprend les packages installés lors du précédent Build, ceci afin de ne pas avoir à réinstaller les packages à chaque fois que vous modifiez votre application dans le dossier ShinyApps.
-
dans le cas d'un dépôt privé, vous devez suivre les indications suivantes pour utiliser une clé SSH ou bien un Token de déploiement ↩