Skip to content

OpenMined/rds-dashboard

RDS Dashboard

Getting Started

Prerequisites

Setup

  1. Clone the repository

  2. Install dependencies:

    just setup
  3. Run the development server:

    just dev

    Or with a custom SyftBox config:

    just dev /path/to/syftbox/config.json

The app will be available at:

Both frontend and backend have hot-reload enabled during development.

Running Multiple Instances

To run multiple dashboards simultaneously (e.g., for testing with different SyftBox clients):

# Terminal 1 - Instance 1
just dev "/path/to/client1.config.json"
# → Frontend: :3000, Backend: :8000

# Terminal 2 - Instance 2
just dev "/path/to/client2.config.json"
# → Frontend: :3001, Backend: :8001 (auto-incremented)

Each instance automatically gets its own ports. The backend port is always calculated as: backend_port = frontend_port + 5000. The frontend auto-detects the correct API URL based on the DEBUG environment variable (same as the backend).

Debug: Check API configuration in browser console:

window.apiConfig.log()  // Show current config
window.apiConfig.reset() // Reset if needed

Build

Run just prod to export the frontend into a static build and start the FastAPI backend server.

Note: Frontend Build Output (frontend/out/)

⚠️ The frontend/out/ directory is intentionally committed to git.

This is required for SyftBox app installation:

  1. When users install via: syftbox app install https://github.com/OpenMined/rds-dashboard

    • SyftBox clones this repository
    • Executes run.sh which only sets up Python environment (no frontend build step)
    • FastAPI serves pre-built static files from frontend/out/
    • SyftUI embeds the app (dashboard) in an iframe
  2. Deployment models:

    • SyftBox Install: Requires pre-built frontend/out/ in git ✅
    • Docker: Builds frontend during image creation (doesn't need committed build, but harmless)

Before committing frontend changes, always rebuild:

bun run --cwd frontend build

This ensures users installing via SyftBox get the latest frontend.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •