ShinyProxy für das Hosting mehrerer containerisierter Shiny-Anwendungen deployen. Behandelt ShinyProxy-Docker-Deployment, application.yml- Konfiguration, Shiny-App-Docker-Images, Authentifizierung, Container- Backends, Nutzungserfassung und Skalierung. Verwenden, wenn mehrere Shiny-Apps hinter einem einzigen Einstiegspunkt gehostet, App-spezifische Authentifizierung benötigt oder Shiny-Apps als isolierte Docker-Container deployt werden sollen.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
ShinyProxy für das Hosting mehrerer containerisierter Shiny-Anwendungen deployen. Behandelt ShinyProxy-Docker-Deployment, application.yml- Konfiguration, Shiny-App-Docker-Images, Authentifizierung, Container- Backends, Nutzungserfassung und Skalierung. Verwenden, wenn mehrere Shiny-Apps hinter einem einzigen Einstiegspunkt gehostet, App-spezifische Authentifizierung benötigt oder Shiny-Apps als isolierte Docker-Container deployt werden sollen.
Erwartet: Jede Shiny-App läuft unabhängig in ihrem eigenen Container.
Bei Fehler: Wenn der Container nicht startet, Logs prüfen: docker logs <container-id>. Häufige Ursachen: fehlende R-Packages, falsche Dateipfade in COPY-Befehlen.
Erwartet: Authentifizierung funktioniert für alle konfigurierten Nutzer/Gruppen.
Bei Fehler: Wenn LDAP-Verbindung fehlschlägt, Netzwerkkonnektivität prüfen: curl ldap://ldap.example.com:389. Für OpenID-Fehler, Redirect-URL in Identity-Provider-Konfiguration prüfen.
WebSocket-Unterstützung ist kritisch — ShinyProxy und Shiny verwenden WebSockets intensiv.
Erwartet: HTTPS-Zugriff funktioniert. Shiny-Reaktivität (WebSockets) funktioniert durch Nginx.
Bei Fehler: Wenn Shiny nicht reagiert hinter Nginx, WebSocket-Upgrade-Header prüfen: proxy_set_header Upgrade und proxy_set_header Connection müssen vorhanden sein.
Schritt 6: Nutzungserfassung
ShinyProxy protokolliert Nutzungsereignisse in seine Log-Datei. Für strukturiertes Tracking, InfluxDB konfigurieren:
Container-Cleanup funktioniert wenn Nutzer die Verbindung trennen
Logs erfassen Nutzungsereignisse
Haeufige Stolperfallen
Docker-Socket-Berechtigungen: ShinyProxy benötigt Docker-Socket-Zugriff zum Starten von Containern. Als Nutzer der docker-Gruppe ausführen oder Socket mounten.
Netzwerk-Mismatch: App-Container müssen sich im selben Docker-Netzwerk wie ShinyProxy befinden (container-network in Spezifikationen muss übereinstimmen).
WebSocket-Proxy: Nginx oder andere Proxies vor ShinyProxy müssen WebSocket-Upgrade-Header weiterleiten.
Image nicht gefunden: App-Images müssen auf dem Docker-Host gepullt oder gebaut sein, bevor ShinyProxy sie verwenden kann.
Container-Cleanup: Wenn ShinyProxy abstürzt, können verwaiste App-Container verbleiben. docker ps zum Prüfen und Bereinigen verwenden.
Speicherlimits: Shiny-Apps können erheblich Speicher verbrauchen. container-memory-limit setzen, um zu verhindern, dass eine App anderen Ressourcen entzieht.
Verwandte Skills
deploy-shiny-app — Single-App-Deployment auf shinyapps.io, Posit Connect oder Docker