MCPSERV.CLUB
Ombi

Ombi

Self-Hosted

Easy media requests for Plex and Emby

Active(100)
4.0kstars
0views
Updated 9 days ago
Ombi screenshot 1
1 / 4

Overview

Discover what makes Ombi powerful

Ombi is a self‑hosted media request engine that sits between end users and popular media servers such as **Plex** or **Emby**. From a technical standpoint it exposes a RESTful API, a WebSocket‑based real‑time notification layer, and a set of background workers that orchestrate content discovery, approval workflows, and integration with downloaders like Sonarr, Radarr, CouchPotato, or SickRage. The core logic is written in **C# (.NET Core 3.1 / .NET 6)** and packaged as a Docker image, making it easy to run in containerised environments while still allowing direct deployment on Windows or Linux hosts.

Framework & Runtime

Database

Messaging

Containerisation

Overview

Ombi is a self‑hosted media request engine that sits between end users and popular media servers such as Plex or Emby. From a technical standpoint it exposes a RESTful API, a WebSocket‑based real‑time notification layer, and a set of background workers that orchestrate content discovery, approval workflows, and integration with downloaders like Sonarr, Radarr, CouchPotato, or SickRage. The core logic is written in C# (.NET Core 3.1 / .NET 6) and packaged as a Docker image, making it easy to run in containerised environments while still allowing direct deployment on Windows or Linux hosts.

Architecture

  • Framework & Runtime – ASP.NET Core MVC for the web UI and API, Entity Framework Core for data access, and Hangfire (or Quartz.NET) for scheduled jobs.
  • Database – Supports SQLite for lightweight local setups or PostgreSQL/MySQL for production‑grade deployments. The schema is fully code‑first, enabling migrations via EF Core.
  • Messaging – Uses SignalR for real‑time updates to the web client and optional webhook endpoints for external services.
  • Containerisation – Official Docker image (linuxserver/ombi) pulls from the GitHub release pipeline; images are built on a minimal Alpine‑based runtime, reducing attack surface and footprint.
  • Extensibility – A plugin system based on .NET assemblies allows developers to inject custom providers or modify the request pipeline without touching core code.

Core Capabilities

FeatureDeveloper Hook
User SyncOAuth2/JWT authentication with Plex/Emby; API endpoints to fetch and cache user lists.
Smart SearchQuery multiple indexers (TMDB, TVDB, Trakt) via HTTP clients; expose search results as JSON.
AutomationWebhook payloads to Sonarr/Radarr; configurable “request types” mapping to downloaders.
Approval WorkflowAdmin API to approve/reject requests; email/SMS notification hooks.
Mobile SDKREST endpoints consumed by native iOS/Android apps; optional push notification integration.

Deployment & Infrastructure

Ombi requires a .NET runtime and a database server, but the Docker image bundles everything except the database. It scales horizontally by running multiple instances behind a load balancer; the SQLite mode is single‑writer only, so for high‑traffic scenarios switch to PostgreSQL or MySQL. The application exposes health checks (/api/v1/status) and Prometheus metrics (/metrics) for observability. CI pipelines enforce automated tests, container scanning, and artifact publishing to Docker Hub.

Integration & Extensibility

  • Plugin API – Implement IRequestProvider or IMediaServerConnector interfaces to add new indexers or media servers.
  • Webhooks – Configure outbound webhooks for events like RequestCreated, ApprovalGranted, or ContentDownloaded.
  • Custom Fields – Store arbitrary metadata per request; the UI allows adding custom tags that can be used in routing logic.
  • Community SDK – Open‑source SDKs on NuGet provide typed clients for the API, easing integration into other services.

Developer Experience

The project follows semantic versioning and publishes comprehensive API documentation via Swagger/OpenAPI. The source repository contains a rich set of unit and integration tests, with GitHub Actions running on every push. The community is active on Discord, where developers discuss plugins and workflow automation. Licensing under MIT allows unrestricted modification and redistribution.

Use Cases

  1. Home Media Server – A family can request new titles through a web portal, with approvals managed by an admin before Sonarr/Radarr downloads the content.
  2. Enterprise Media Library – A corporate IT team can expose Ombi to employees, automating content ingestion while enforcing licensing compliance.
  3. Custom Automation Stack – Developers can hook Ombi into a custom downloader or transcoding pipeline, leveraging the webhook system to trigger downstream processes.

Advantages

  • Performance – Lightweight ASP.NET Core stack with async I/O and in‑memory caching for search queries.
  • Flexibility – Plugin architecture lets you extend beyond Plex/Emby to any media server that exposes a compatible API.
  • Licensing – MIT license removes vendor lock‑in, enabling internal customization without legal overhead.
  • Community & Support – Active Discord and GitHub discussions mean rapid issue resolution and feature requests.

Overall, Ombi offers a robust, extensible platform for media request management that aligns with modern containerised deployment practices while providing developers with clear APIs, a plugin system, and a strong community backing.

Open SourceReady to get started?

Join the community and start self-hosting Ombi today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
GPL-2.0
Stars
4.0k
Technical Specs
Pricing
Open Source
Database
SQLite
Docker
Community
Supported OS
LinuxDocker
Author
Ombi-app
Ombi-app
Last Updated
9 days ago