Release candidateFeedback welcome

One app for your whole media pipeline.

StreamZH finds, downloads, repairs, unpacks, renames and files your movies and series, and lets friends request what they want to watch. Self-hosted, free and open source.

  • Windows, Linux, macOS, Docker
  • GPL-3.0
  • No telemetry
The StreamZH Overview: two downloads in the queue, library counts, recently added movies, the next seven days and disk space

Replaces

  • Radarr
  • Sonarr
  • Prowlarr
  • SABnzbd
  • a torrent client
  • Recyclarr
  • Requestrr

One login, one database, one queue, one API.

Library

Movies and series, filed the way you like.

Titles, posters and episode lists come from TMDB. Monitor per movie, series or season, with standard, daily and anime numbering and TheXEM scene mapping. Bring the folders you already have and StreamZH picks them up as they are.

  • Organize renames and moves to your naming scheme, with undo
  • Wanted list for missing files and unmet cutoffs
  • Calendar with an iCal feed, mass editor, media info from ffprobe
Library, Movies: a grid of posters with on-disk, missing and downloading badges

Search and downloads

Usenet and torrents, built right in.

A Usenet engine with backup servers, categories and a scheduler repairs with par2 and unpacks with 7-Zip on its own. The built-in torrent engine seeds to your goals, or you keep qBittorrent, Transmission or Deluge. One queue follows every release from grab to import.

  • Newznab and Torznab indexers with limits, stats and health back-off; one-click import from Prowlarr
  • RSS sync, automatic and interactive search, blocklist and retry
  • A release test that explains every decision
Activity queue: each download moves through grab, download, verify, repair, extract and import

Quality

Profiles and custom formats, TRaSH Guides included.

Quality profiles with groups and a cutoff, custom formats with scores, release profiles and size limits per quality. StreamZH syncs the TRaSH Guides templates daily, which is what Recyclarr does, built in.

  • Custom formats in the Radarr and Sonarr JSON format
  • Create a profile from TRaSH in one click, or import your recyclarr.yml
  • Five default profiles out of the box, from HD-1080p to Ultra-HD
Settings, Profiles: TRaSH Guides sync and the five default quality profiles

Requests

Let friends ask, on the web or on Discord.

Discover shows what is trending, popular, upcoming and top rated. Friends request what they want; you approve, or let trusted people auto-approve within their limits. The built-in Discord bot answers /movie, /tv and /requests.

  • Invite links and roles: Owner, Admin, Friend, Requester
  • Library updates for Plex, Jellyfin, Emby and Kodi
  • Notifications via Discord, Telegram, Pushover, ntfy, Gotify, email, Apprise and webhooks
Discover: trending movies and series with available, pending and requested states

Moving over

Bring your *arr setup along. Nothing is downloaded twice.

The migration wizard takes over Radarr, Sonarr, Prowlarr and SABnzbd through their APIs: settings, profiles, custom formats, indexers, Usenet servers, download clients and your library with the files you already have, linked where they are.

  • The old apps are only read, never changed
  • Side-by-side mode: StreamZH grabs nothing until you switch over

Read the migration guide

Settings, Migration: the wizard takes over Radarr, Sonarr, Prowlarr and SABnzbd step by step

Get started

A first run that tells you what comes next.

After you create the owner account, Get started lists the six things StreamZH needs and ticks each one off from your real configuration. Most of them you finish right on the page.

  1. Storage locations
  2. Root folders
  3. TMDB key
  4. Release language
  5. Indexers
  6. A download client
Get started: four of six steps done, indexers next

Security and privacy

Your server, your data, nobody watching.

Self-hosted

StreamZH runs on your own computer or server. Library, accounts and settings live in one data folder that you control and back up.

No telemetry

No usage data, crash reports or analytics. StreamZH talks to TMDB, your indexers, servers and clients, the services you connect, the TRaSH Guides and TheXEM, and to GitHub when you check for updates.

Safe defaults

A fresh install can only be claimed on the server or with a one-time setup code. Stored passwords and API keys are encrypted, and StreamZH writes only inside the folders the owner allows.

No tracking here either

This website sets no cookies, runs no analytics and loads nothing from other servers. Fonts and images come from streamzh.com itself.

How StreamZH is secured

Install

Install in a minute.

The native packages are self-contained: no .NET runtime to install. Every release lists a SHA256SUMS file to check the downloads against.

Windows

Windows 10 (1809 or later), Windows 11 or Windows Server 2019 or later, x64.

  1. Download StreamZH-<version>-win-x64-setup.exe from the latest release.

    Download for Windows

  2. Run it (administrator rights needed). It installs to C:\Program Files\StreamZH, keeps your data in C:\ProgramData\StreamZH and runs StreamZH as a Windows service with a tray icon, or with the tray icon only if you prefer.

  3. Open http://localhost:9797 and create the owner account.

Silent installation

StreamZH-<version>-win-x64-setup.exe /VERYSILENT /TASKS="service,firewall,cfa" /FOLDERS="D:\Media;D:\Downloads"

Prefer no installer? A portable StreamZH-<version>-win-x64.zip is on the same page. Windows details

Linux

Any Linux with systemd, x64 or arm64. StreamZH runs as the service streamzh under its own user.

  1. Download the .deb or .rpm from the latest release. On 64-bit ARM (for example a Raspberry Pi 4 or 5) pick the arm64 / aarch64 file.

    Download for Linux

  2. Install it:

    # Debian, Ubuntu
    sudo apt install ./streamzh_<version>_amd64.deb
    # Fedora, RHEL
    sudo dnf install ./streamzh-<version>.x86_64.rpm
    # openSUSE
    sudo zypper install ./streamzh-<version>.x86_64.rpm
  3. Give the user streamzh access to your media and download folders:

    sudo setfacl -R -m u:streamzh:rwX -m d:u:streamzh:rwX /data/media /data/downloads
  4. Open http://<server>:9797. The setup code for the owner account is in the journal:

    sudo journalctl -u streamzh | grep -i 'setup code'

Any other distribution with systemd

tar -xzf StreamZH-<version>-linux-x64.tar.gz
sudo bash StreamZH-<version>-linux-x64/install-linux.sh

Linux details: install script options, permissions, service commands.

Docker

The image ghcr.io/streamzh/streamzh is built for amd64 and arm64 and includes par2, 7-Zip and ffprobe.

  1. Save this as docker-compose.yml. Set PUID and PGID to the owner of your media (id -u, id -g).

    services:
      streamzh:
        image: ghcr.io/streamzh/streamzh:latest
        container_name: streamzh
        restart: unless-stopped
        environment:
          PUID: "1000"
          PGID: "1000"
          UMASK: "027"
          TZ: "Etc/UTC"
        ports:
          - "9797:9797"            # web interface
          - "51414:51414"          # built-in torrent engine (only when you use it)
          - "51414:51414/udp"
        volumes:
          - ./config:/config
          - /data/media:/data/media
          - /data/downloads:/data/downloads
        security_opt:
          - no-new-privileges:true
  2. Start it and read the one-time setup code from the log:

    docker compose up -d
    docker logs streamzh
  3. Open http://<server>:9797, enter the setup code and create the owner account.

Release candidates are tagged by version only and never move latest: until 1.0, use the version tag from the latest release instead of latest. Docker details: docker run, paths, reverse proxies.

macOS

Apple silicon and Intel. StreamZH runs in a Terminal window.

  1. Download StreamZH-<version>-osx-arm64.zip (Apple silicon) or StreamZH-<version>-osx-x64.zip (Intel) from the latest release.

    Download for macOS

  2. Unpack it, remove the download quarantine once (the app is not notarized by Apple) and start it:

    cd ~/Downloads
    unzip StreamZH-<version>-osx-arm64.zip
    xattr -dr com.apple.quarantine StreamZH
    ./StreamZH/StreamZH
  3. Open http://localhost:9797 and create the owner account.

Install ffmpeg (for example with Homebrew) for media info; par2 and 7-Zip are installed by StreamZH. macOS details

Then follow Get started in the app, or read the installation guide for reverse proxies, updates and backups.

FAQ

Questions, answered.

Is StreamZH free?

Yes. StreamZH is free and open source software under the GNU General Public License v3.0. The source code, issues and releases are on GitHub.

Does it really replace Radarr, Sonarr, Prowlarr and SABnzbd?

That is the idea: library, indexers, a Usenet engine, a torrent engine, TRaSH Guides sync and requests live in one app with one login and one queue. You can still use qBittorrent, Transmission or Deluge as the download client, and you keep watching in Plex, Jellyfin, Emby or Kodi, which StreamZH updates when something new arrives.

Can I move over my existing setup?

Yes. Settings → Migration takes over Radarr, Sonarr, Prowlarr and SABnzbd: settings, profiles, custom formats, indexers, servers, download clients and your library with its files, which stay where they are. The old apps are only read, and side-by-side mode lets both run until you switch. See the migration guide.

Which platforms does it run on?

Windows 10 (1809 or later), Windows 11 and Windows Server 2019 or later (x64), Linux with systemd (x64, arm64, as .deb, .rpm or .tar.gz), Docker (amd64, arm64) and macOS (Apple silicon and Intel).

Where does my data live?

In one data folder on your machine: C:\ProgramData\StreamZH on Windows, /var/lib/streamzh with the Linux packages, /config in Docker and ~/Library/Application Support/StreamZH on macOS. Updates replace the program only, scheduled backups run every 7 days, and your media folders are never part of a backup or touched by an uninstall.

Does StreamZH collect any data?

No. It sends no usage data, crash reports or analytics anywhere. It only connects to TMDB, your indexers, Usenet servers and download clients, the services you connect, the TRaSH Guides and TheXEM, and to GitHub when you check for updates.