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.git
et poussez-le sur un serveur GIT de votre choix (PLMlab par exemple)- ou bien en cliquant
Fork
sur la page d'accueil de ce dépôt
- Dans le dossier ShinyApps, éditez les fichiers
ui.R
etserver.R
- Dans le fichier
requirements.txt
, listez les packagesR
à installer (ceux qui sont appelés vialibrary
ourequire
dans 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.git
1
- 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/src
est 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/R
vos 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
ShinyApps
de 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_REQUEST
et 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 ↩