-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
📡 Feature Request: Multi-Server Dashboard Support with Federated Control and Migration Tools
💡 Feature Description
Enable What's Streaming Dashboard (WSD) to connect to and monitor multiple Emby or Jellyfin servers from a single admin interface.
Admins will be able to:
- View and manage all user sessions, stats, and device activity across instances
- Designate Primary and Secondary servers
- Initiate federated control and execute user/library migrations
This feature is intended for advanced server operators managing separate home, remote, or shared-family setups.
📈 Motivation and Context
- Many admins operate multiple servers due to region, bandwidth, or user segmentation.
- Emby lacks centralized dashboards for multi-instance scenarios.
- Migration of users and libraries across servers is manual and error-prone.
- Admins need better visibility, coordination, and scaling options.
With this feature:
- Admins gain control from a central pane of glass
- Users can be gradually migrated from old servers to a central instance
- Playback stats, alerts, and sessions are aggregated for global view
🛠️ Suggested Implementation
🎛️ Server Registration Panel
- Add new server via URL, API key, friendly name
- Store connection and credential securely
{
"serverId": "ServerB",
"url": "https://serverb.example.com",
"token": "ABC123...",
"alias": "Remote Server"
}🧭 Unified Dashboard View
- Active Streams by server
- Modular rows per server, collapsible
- Global switcher: "All Servers", "Server A", "Server B"
🧩 Federated Control Mode
Set one server as Primary Controller (e.g., ServerA) and assign other servers as linked:
- Broadcast maintenance schedules to linked servers
- Push notifications from ServerA to users on ServerB
- View sessions on ServerB from ServerA
[✔] ServerA - Primary
[ ] ServerB - Secondary (linked)
🔄 Migrational Operations
👥 User Migration Tools
- Export user config from ServerB:
- Email, username, auth tokens, watched history
- Import to ServerA with field mapping
- Optional identity merge: if same email on both, consolidate sessions
🎬 Library Migration Planning
- Map libraries:
{ "Movies": "/mnt/media/movies", "TV": "/mnt/media/tv" } - Precheck file paths and media overlap
- Sync via rsync/Samba/NFS
- Retain Emby IDs, metadata, resume points
📡 API Endpoints (Emby 4.9.80+)
/Users/Items/PlayedItems/Sessions/Users/{id}/Items/UserViews/Items/PlaybackInfo
Use PositionTicks and MediaSourceId to resume sessions.
🔐 Security & Permissions
- Per-server encryption of API keys
- Only superadmin can initiate migration
- Token handoff between servers must be signed or time-bound
🖼️ Visuals or References (optional)
- Admin map view of where linked servers are located
- Flag mismatched user sessions across servers
🔗 Related Issues or Discussions
- WSD Watch Statistics Module
- Geo Playback Mapping (#3)
- [Signal Notification Integration FR]
🧩 Additional Notes
- This feature is essential to future-proof WSD in more enterprise-leaning admin environments or family-wide deployments. This should be considered a paywall'd add-on to WSD
- WSD should warn admins if a server fails health checks or rate-limits API calls. Logging must denote
server_idfor all events. - Consider CLI or API support to bulk-import server configs.
- Session mirroring tools can extend across servers for real-time diagnostics.
- Eventually could support autoscaling: assign heavy load to alt servers.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request