shinyproxy-deployment

Deploy and manage containerized Shiny and Python web apps via ShinyProxy on FGCZ infrastructure.

Updated May 28, 2026
One-click install
npx skills add https://github.com/cpanse/skills --skill shinyproxy-deployment-cpanse
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shinyproxy-deployment
Source: https://github.com/cpanse/skills/tree/main/fgcz-infrastructure/skills/shinyproxy-deployment
Command: npx skills add https://github.com/cpanse/skills --skill shinyproxy-deployment-cpanse

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve? Deploying R Shiny or Python web applications to production at FGCZ requires coordinating Docker images, ShinyProxy YAML configuration, LDAP authentication, and volume mounts, and mistakes in any of these cause failed deployments or broken access control. ## Core Features & Use Cases - Guided deployment workflows: Step-by-step procedures for deploying apps using the fgcz_base_image or building custom Docker images, including local testing before production release. - LDAP access control: Ready-to-use R code patterns for restricting data access based on B-Fabric user roles (R_2 employees vs R_3 external users) and project membership. - Python app support: Documented fixes for production gotchas when deploying Gradio, Streamlit, or FastAPI apps, including venv paths, SCIPY_ARRAY_API, and root_path proxying. - Use Case: A bioinformatician finishes a Seurat-based Xenium explorer app and needs it live at shiny.fgcz.uzh.ch with project-level access restrictions; this skill walks them through configuration, testing, and service restart. ## Quick Start Ask the agent to deploy your Shiny app to FGCZ ShinyProxy using the fgcz_base_image and it will generate the configuration, Dockerfile, and restart commands.

Frequently Asked Questions about shinyproxy-deployment

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy a Shiny app to ShinyProxy?

Place your app files in /srv/shinyproxy/apps/YourApp, add an app spec to /srv/shinyproxy/private.yml pointing to fgcz_base_image with the correct volume mounts and container-cmd, then restart the fgcz-shinyproxy@private service with systemctl.

How do I restrict Shiny app access by LDAP project membership?

Read the SHINYPROXY_USERNAME environment variable, query the B-Fabric LDAP server with ldapsearch for the user's roles and projects, then allow R_2 employees full access while limiting R_3 external users to their own projects.

Can I deploy Gradio or Streamlit apps on ShinyProxy?

Yes, ShinyProxy is Docker-agnostic and supports Python frameworks. Use the venv at /srv/shiny-server/venv in fgcz_base_image, set root_path to your app path for Gradio, and set PYTHONUNBUFFERED=1 for logging.

Why does my ShinyProxy app fail to start after deployment?

Check /var/log/fgcz-java.log and /srv/shinyproxy/logs/shinyproxy.log for errors, then test the Docker image directly with docker run. Common causes are missing R packages, invalid YAML syntax, or incorrect volume mount paths.

When should I build a custom Docker image instead of using fgcz_base_image?

Build a custom image only when your app needs R packages or system dependencies not included in fgcz_base_image. Otherwise, mounting your app directory into the base image is faster and avoids 30-plus-minute builds.