WonderAliceUwU/OmniArr

Unify your Jellyfin, Radarr, Sonarr into the definitive media center!

TypeScript

7

40 commits

updated Oct 13, 2026

See the code

See what people are saying

SourceMessageScoreDate

OmniArr - Sharing my unified UI take for Jellyfin, Sonarr & Radarr (r/selfhosted)

Hi everyone! I just wanted to contribute a bit to this community that has given me a lot of great things. I've been using this platform and developing it for a long time in private, but I finally released it on GitHub for anyone that might find it useful:…

0

Oct 13, 2026

README

OmniArr - Every Arr unified

Self-hosted media discovery and download management for Jellyfin users.

Screenshot 2026-10-13 at 09 45 47

OmniArr brings your favourite services together in one clean dashboard: browse your Jellyfin library, discover movies and series, follow upcoming releases, request downloads and monitor storage from a single place.

Docker image Docker pulls License

If OmniArr is useful to you, you can support its development on Ko-fi.

What you get

  • It connects with all your Jellyfin users, the login stays consistent.

  • Integration with Sonarr and Radarr to manage your library.

    Screenshot 2026-10-13 at 09 46 52 Screenshot 2026-10-13 at 10 43 21
  • A calendar tracking your new episodes and events.

    Screenshot 2026-10-13 at 09 46 05
  • Every discovery and search you may need.

    Screenshot 2026-10-13 at 09 47 49
  • A download manager to see what's cooking.

And many things more!

Install with Docker Compose

Create a directory for OmniArr and add this docker-compose.yml:

services:
  omniarr:
    image: wonderalice/omniarr:1.1
    container_name: omniarr
    restart: unless-stopped
    ports:
      - "8787:8787"
    environment:
      PORT: "8787"
      OMNIARR_DATA_DIR: /app/data
    volumes:
      - ${OMNIARR_DATA_DIR:-./data}:/app/data

Then start the container:

docker compose pull
docker compose up -d

Open http://localhost:8787 and create the master password during the first boot. Configure the Jellyfin, Sonarr, Radarr and qBittorrent connections from the Administration area.

The Compose file in this repository is ready to use as-is:

curl -O https://raw.githubusercontent.com/WonderAliceUwU/OmniArr/main/docker-compose.yml
docker compose up -d

Set OMNIARR_DATA_DIR to a host dataset when you want the data outside the current directory. For example, on TrueNAS:

export OMNIARR_DATA_DIR=/path/to/omniarr-data
docker compose up -d

The /app/data mount is required. It contains the encrypted application state, including the master-password verifier and saved integration settings. Removing the mount loses that state when the container is replaced.

Docker image tags

The current release is available as:

wonderalice/omniarr:1.1
wonderalice/omniarr:latest

Pin 1.1 in production for repeatable updates. Use latest only when you want Compose to follow the newest published image.

Build and publish

To publish a multi-architecture image to Docker Hub:

docker login
docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -t wonderalice/omniarr:1.1 \
  -t wonderalice/omniarr:latest \
  --push \
  .

To build locally without publishing:

docker build -t omniarr:local .
docker run --rm -p 8787:8787 -v "$PWD/data:/app/data" omniarr:local

Local development

Requirements: Node.js 22 or newer and npm.

npm ci
npm run dev:all

The production build can be checked with:

npm run lint
npm run build

Data and security

OmniArr keeps critical state under OMNIARR_DATA_DIR (by default /app/data inside the container). The encrypted store is written to /app/data/omniarr.secure.json.

Keep the data directory private, use a strong master password and provide the TMDb token through the Administration area. It is stored encrypted with the rest of the application configuration.

License

OmniArr is currently distributed as a private project. See the repository for the licensing status of your copy.

WonderAliceUwU/OmniArr

Unify your Jellyfin, Radarr, Sonarr into the definitive media center!

TypeScript

7

40 commits

updated Oct 13, 2026

See the code

See what people are saying

SourceMessageScoreDate

OmniArr - Sharing my unified UI take for Jellyfin, Sonarr & Radarr (r/selfhosted)

Hi everyone! I just wanted to contribute a bit to this community that has given me a lot of great things. I've been using this platform and developing it for a long time in private, but I finally released it on GitHub for anyone that might find it useful:…

0

Oct 13, 2026

README

OmniArr - Every Arr unified

Self-hosted media discovery and download management for Jellyfin users.

Screenshot 2026-10-13 at 09 45 47

OmniArr brings your favourite services together in one clean dashboard: browse your Jellyfin library, discover movies and series, follow upcoming releases, request downloads and monitor storage from a single place.

Docker image Docker pulls License

If OmniArr is useful to you, you can support its development on Ko-fi.

What you get

  • It connects with all your Jellyfin users, the login stays consistent.

  • Integration with Sonarr and Radarr to manage your library.

    Screenshot 2026-10-13 at 09 46 52 Screenshot 2026-10-13 at 10 43 21
  • A calendar tracking your new episodes and events.

    Screenshot 2026-10-13 at 09 46 05
  • Every discovery and search you may need.

    Screenshot 2026-10-13 at 09 47 49
  • A download manager to see what's cooking.

And many things more!

Install with Docker Compose

Create a directory for OmniArr and add this docker-compose.yml:

services:
  omniarr:
    image: wonderalice/omniarr:1.1
    container_name: omniarr
    restart: unless-stopped
    ports:
      - "8787:8787"
    environment:
      PORT: "8787"
      OMNIARR_DATA_DIR: /app/data
    volumes:
      - ${OMNIARR_DATA_DIR:-./data}:/app/data

Then start the container:

docker compose pull
docker compose up -d

Open http://localhost:8787 and create the master password during the first boot. Configure the Jellyfin, Sonarr, Radarr and qBittorrent connections from the Administration area.

The Compose file in this repository is ready to use as-is:

curl -O https://raw.githubusercontent.com/WonderAliceUwU/OmniArr/main/docker-compose.yml
docker compose up -d

Set OMNIARR_DATA_DIR to a host dataset when you want the data outside the current directory. For example, on TrueNAS:

export OMNIARR_DATA_DIR=/path/to/omniarr-data
docker compose up -d

The /app/data mount is required. It contains the encrypted application state, including the master-password verifier and saved integration settings. Removing the mount loses that state when the container is replaced.

Docker image tags

The current release is available as:

wonderalice/omniarr:1.1
wonderalice/omniarr:latest

Pin 1.1 in production for repeatable updates. Use latest only when you want Compose to follow the newest published image.

Build and publish

To publish a multi-architecture image to Docker Hub:

docker login
docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -t wonderalice/omniarr:1.1 \
  -t wonderalice/omniarr:latest \
  --push \
  .

To build locally without publishing:

docker build -t omniarr:local .
docker run --rm -p 8787:8787 -v "$PWD/data:/app/data" omniarr:local

Local development

Requirements: Node.js 22 or newer and npm.

npm ci
npm run dev:all

The production build can be checked with:

npm run lint
npm run build

Data and security

OmniArr keeps critical state under OMNIARR_DATA_DIR (by default /app/data inside the container). The encrypted store is written to /app/data/omniarr.secure.json.

Keep the data directory private, use a strong master password and provide the TMDb token through the Administration area. It is stored encrypted with the rest of the application configuration.

License

OmniArr is currently distributed as a private project. See the repository for the licensing status of your copy.