You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Forkar os demos da OpenAnalytics (github.com/openanalytics/shinyproxy-<app>-demo) para a org StrategicProjects, adaptá-los para o modelo de proxy do Ruscker e publicá-los no Docker Hub (namespace da org). O seed do showcase (db/showcase.rs) passa a apontar para os forks.
Por quê
Os demos foram feitos para o ShinyProxy, que injeta SHINYPROXY_PUBLIC_PATH e encaminha o path completo (não faz strip). O Ruscker faz STRIP do prefixo do mount e reescreve o lado-browser (/app rewriter + #348). Resultado: apps que dependem do SHINYPROXY_PUBLIC_PATH para se auto-prefixar quebram sob o Ruscker (Dash crasha no boot, FastAPI vaza host, etc.). Forkar nos dá controle para:
servir na raiz (requests_pathname_prefix=/, base_url=/, root_path vazio) sem depender de env de runtime;
ou honrar X-Forwarded-Prefix/X-Forwarded-Host quando fizer sentido;
branding/identidade Ruscker, versionamento próprio, e não depender de imagens de terceiros.
Convenção
GitHub: StrategicProjects/ruscker-<app>-demo (fork do upstream, preservando licença/atribuição).
Docker Hub: <org-namespace>/ruscker-<app>-demo:latest (definir o namespace Docker Hub da org — ghcr já é ghcr.io/strategicprojects/ruscker).
Cada fork: documentar a porta interna + que roda na raiz (sem SHINYPROXY_PUBLIC_PATH). CI para build+push multi-arch se possível (a maioria é amd64 hoje).
Objetivo
Forkar os demos da OpenAnalytics (
github.com/openanalytics/shinyproxy-<app>-demo) para a org StrategicProjects, adaptá-los para o modelo de proxy do Ruscker e publicá-los no Docker Hub (namespace da org). O seed do showcase (db/showcase.rs) passa a apontar para os forks.Por quê
Os demos foram feitos para o ShinyProxy, que injeta
SHINYPROXY_PUBLIC_PATHe encaminha o path completo (não faz strip). O Ruscker faz STRIP do prefixo do mount e reescreve o lado-browser (/apprewriter + #348). Resultado: apps que dependem doSHINYPROXY_PUBLIC_PATHpara se auto-prefixar quebram sob o Ruscker (Dash crasha no boot, FastAPI vaza host, etc.). Forkar nos dá controle para:requests_pathname_prefix=/,base_url=/,root_pathvazio) sem depender de env de runtime;X-Forwarded-Prefix/X-Forwarded-Hostquando fizer sentido;Convenção
StrategicProjects/ruscker-<app>-demo(fork do upstream, preservando licença/atribuição).<org-namespace>/ruscker-<app>-demo:latest(definir o namespace Docker Hub da org — ghcr já éghcr.io/strategicprojects/ruscker).SHINYPROXY_PUBLIC_PATH). CI para build+push multi-arch se possível (a maioria é amd64 hoje).Apps (issue por app)
SHINYPROXY_PUBLIC_PATH).root_path/forwarded headers).(Jupyter e RStudio ficam de fora — imagens oficiais
quay.io/jupytererocker/rstudio, já funcionam via base_url / X-RStudio-Root-Path.)Done quando
Cada app tem fork em StrategicProjects + imagem no Docker Hub + o card do showcase aponta pra ela e funciona sob
/box(validado no cast).