# Managed Room A managed room wraps an existing application. Soleprint runs alongside it, providing tools and a sidebar without touching the app's source code. ## Structure ``` gen/myroom/ myapp/ # The app (cloned repos + Docker) link/ # DB bridge (FastAPI adapter) soleprint/ # Soleprint instance ``` ## Wrapping mechanism Nginx `sub_filter` injects sidebar CSS and JS into the app's HTML `` tag. The app serves normally — soleprint attaches from the outside. ![Wrapping](../graphs/wrapping.svg) ## config.json A managed room adds these fields to `config.json`: - `managed.name` — the app name - `managed.repos.backend` — backend repository - `managed.repos.frontend` — frontend repository ## Sidebar Loads from `/spr/sidebar.js` and `/spr/sidebar.css`, configured via `/api/sidebar/config`. The sidebar is generic at runtime. All customization comes from `config.json`. ## Hosts Add to `/etc/hosts`: ``` 127.0.0.1 myroom.spr.local.ar myroom.local.ar ```