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.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
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