Skip to content

[Feature]: Support Multi-Server Management in WSD #25

@mophawka

Description

@mophawka

📡 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


🧩 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_id for 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions