selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
exportarr logo

Self-host exportarr

v2.3.0

All-in-one Prometheus exporter for media server apps

ReleaseOpen SourceMIT
docker run --name exportarr_$app -e PORT=9707 -e URL="http://x.x.x.x:$port" -e API_KEY="$apikey" --restart unless-stopped -p 9707:9707 -d ghcr.io/onedr0p/exportarr:latest $app
Updated4 months ago
LanguageGo
Setup difficultyEasy
Stars
831
Port
8081 (default HTTP metrics endpoint)
Docker
ghcr.io/onedr0p/exportarr

What is exportarr?

exportarr is a unified Prometheus exporter for monitoring media management tools. It runs as a Docker container or CLI binary exposing application metrics in Prometheus format. The exporter supports form-based authentication, API keys via environment variables or files, and optional SSL verification disabling. Users can fine-tune performance through batch sizes for Bazarr, backfill settings for Prowlarr, and disable flags to skip expensive metric collection.

Should you self-host exportarr?

exportarr scores 59/100 on selfhost.directory (how scoring works) and ranks #10 of 51 in Monitoring & observability. It has 831 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is MIT-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is GoAccess (75/100, 21 092 stars). It scores higher overall, so compare the two before you pick. See exportarr vs GoAccess side by side.

Features

  • Histogram metrics

exportarr README

How to install exportarr

Install exportarr with Docker

Environment variables
PORT, URL, API_KEY, INTERFACE, LOG_LEVEL, LOG_FORMAT, DISABLE_SSL_VERIFY, REQUEST_TIMEOUT, AUTH_USERNAME, AUTH_PASSWORD, FORM_AUTH, ENABLE_UNKNOWN_QUEUE_ITEMS, DISABLE_QUALITY_METRICS, DISABLE_EPISODE_METRICS, DISABLE_ALBUM_METRICS, DISABLE_HISTORY_METRICS, DISABLE_WANTED_METRICS, PROWLARR__BACKFILL, PROWLARR__BACKFILL_SINCE_DATE, BAZARR__SERIES_BATCH_SIZE, BAZARR__SERIES_BATCH_CONCURRENCY
docker run --name exportarr_$app \
  -e PORT=9707 \
  -e URL="http://x.x.x.x:$port" \
  -e API_KEY="$apikey" \
  --restart unless-stopped \
  -p 9707:9707 \
  -d ghcr.io/onedr0p/exportarr:latest $app

How to configure exportarr

  • API_KEYAPI Key for the app being exported

    API Key for the app being exported

  • API_KEY_FILEPath to a file containing the API key (Docker/Kubernetes secrets); overrides API_KEY

    Path to a file containing the API key (Docker/Kubernetes secrets); overrides API_KEY

  • AUTH_PASSWORDPassword for form auth

    Password for form auth

  • AUTH_USERNAMEUsername for form auth

    Username for form auth

  • BAZARR__SERIES_BATCH_CONCURRENCY10Concurrent Bazarr episodes API calls

    Concurrent Bazarr episodes API calls

  • BAZARR__SERIES_BATCH_SIZE300Number of series per Bazarr episodes API call

    Number of series per Bazarr episodes API call

  • DISABLE_ALBUM_METRICSfalseSkip per-album metrics (lidarr album lookups; ~1 API call per artist each scrape)

    Skip per-album metrics (lidarr album lookups; ~1 API call per artist each scrape)

  • DISABLE_EPISODE_METRICSfalseSkip per-episode metrics (sonarr episode monitoring, bazarr episode-subtitle walk; load scales with library size)

    Skip per-episode metrics (sonarr episode monitoring, bazarr episode-subtitle walk; load scales with library size)

  • DISABLE_HISTORY_METRICSfalseSkip the history endpoint — its total forces a full count over the unprunable history table, slow on multi-year instances

    Skip the history endpoint — its total forces a full count over the unprunable history table, slow on multi-year instances

  • DISABLE_QUALITY_METRICSfalseSkip per-item quality breakdowns (episodefile/trackfile lookups; ~1 API call per series/artist each scrape)

    Skip per-item quality breakdowns (episodefile/trackfile lookups; ~1 API call per series/artist each scrape)

  • DISABLE_SSL_VERIFYfalseSet to true to disable SSL verification

    Set to true to disable SSL verification

  • DISABLE_WANTED_METRICSfalseSkip the wanted/missing and wanted/cutoff endpoints — their totals force full counts, slow on very large libraries

    Skip the wanted/missing and wanted/cutoff endpoints — their totals force full counts, slow on very large libraries

  • ENABLE_UNKNOWN_QUEUE_ITEMSfalseSet to true to enable gathering unknown queue items

    Set to true to enable gathering unknown queue items

  • FORM_AUTHfalseUse form-based authentication

    Use form-based authentication

  • INTERFACE0.0.0.0The interface IP Exportarr will listen on

    The interface IP Exportarr will listen on

  • LOG_FORMATconsoleLog format (console, json)

    Log format (console, json)

    values: console, json

  • LOG_LEVELinfoLog level (debug, info, warn, error)

    Log level (debug, info, warn, error)

    values: debug, info, warn, error

  • PORT8081The port Exportarr will listen on

    The port Exportarr will listen on

  • PROWLARR__BACKFILLfalseSet to true to enable backfill of historical metrics

    Set to true to enable backfill of historical metrics

  • PROWLARR__BACKFILL_SINCE_DATE1970-01-01Set a date (YYYY-MM-DD) from which to start the backfill

    Set a date (YYYY-MM-DD) from which to start the backfill

  • REQUEST_TIMEOUT60sHTTP timeout per request to the target app

    HTTP timeout per request to the target app

  • URLThe full URL to the app being exported

    The full URL to the app being exported

exportarr releases & version history

More in Monitoring & observability

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…