Skip to content

Services and apps

Go to Services → New service and provide the instance’s Base URL and API key. Middlewarr reads the name and type from the instance; these are not fields you enter manually.

Supported service types are Radarr, Sonarr, Lidarr, and Prowlarr. Use the instance root, including a configured URL base, without an API-version suffix.

The address must be reachable from the Middlewarr server. Browser access from your laptop alone does not establish that the container can reach it. Service creation checks connectivity and the upstream key.

If you run multiple instances, give them distinct instance names upstream. Middlewarr requires unique service names, URLs, and service API keys.

To change the address or upstream key, open the service and choose Edit service. All proxies pointing to that service use its stored connection details.

Go to Apps → New app. Give the app a recognizable name, such as Homepage or Mobile client.

  • Slug: forms the /proxy/{slug} path. Leave it blank to derive it from the name, or set a stable value. The server normalizes it; use the resulting URL shown by Middlewarr.
  • Template: optional starting permissions for that integration.
  • Active: controls whether the app can receive proxy traffic.

App names and slugs must be unique. Changing a slug changes the URL clients must use, so update their settings too.

Choose Add proxy from an app or service, select the other side of the connection, and create it. The picker filters service types according to the selected app’s template when that template is available.

Open the proxy and review Endpoints. A templated proxy already inherits permissions; an app without a template needs manual grants. The proxy generates a dedicated key that you can copy from its connection details.

For each service in the integration, use:

Integration setting Middlewarr value
Service URL The app’s proxy URL
API key The key of the proxy connected to that service

If one integration uses both Radarr and Sonarr, it can use the same app URL for both, with the respective proxy key in each service’s settings.

Use the regenerate control beside the proxy key and confirm Rotate API key. Update the integration with the new key immediately. The old key stops working; other proxies keep their own keys.

Proxy history records that a key changed, but it does not keep the old secret. Restoring an earlier configuration does not restore an earlier key.

Use Pause app for all of an app’s proxies, or Stop traffic for one proxy. These controls retain keys and permissions for later use.

Deleting an app or service removes its related proxies. Deleting a proxy also removes its revision history and request log files. Back up first if you need to retain those records.