Questarr

Questarr

Docker app from Questarr's Repository

Overview

Questarr - A video game management application inspired by the -Arr apps.

Questarr

Questarr Logo

A video game management application inspired by the -Arr apps (Sonarr, Radarr, Prowlarr...) and GamezServer. Track and organize your video game collection with automated discovery and download management.

Library screenshot

Docker Pulls GHCR License GitHub release GitHub release date GitHub last commit

security rating reliability rating maintainability rating OpenSSF Best Practices OpenSSF Best Practices Badge

CI Codecov Code Scanning tests Maintenance

⭐ Star us on GitHub — your support motivates us a lot! 🙏😊

Discord Share Share Share Share Share Buy Me A Coffee

Table of Contents

List of features

Feature Description
Backlog management Track your collection with status indicators (Wanted, Owned, Playing, Completed, Shelved), ratings, and notes.
Game Discovery Browse popular, new, and upcoming titles via IGDB, RSS feeds, and xREL.to, or sync your Steam wishlist directly into the app.
Search & Filter Find games by genre, platform, and keyword, with automatic search until a release is found, plus release blacklisting and preferred release groups/platforms.
Download Management Integrates with indexers and downloaders with optional auto-download and automatic post-processing import.
Real-time Notifications In-app alerts for releases and downloads, plus external notifications to 100+ providers via Apprise.
Rich Game Metadata Details enriched with IGDB, Steam, PCGamingWiki, and NexusMods, including trending mods where available.
Statistics Visualize collection statistics with Discord sharing support. 🚧
Security Focused General security hardening, SSL support, and OpenSSF certified — see SECURITY.md for the full process.
Integrations Deployable on UNRAID and as a Home Assistant add-on. 🚧
Design Clean, minimalist, dark-first UI built with mobile usage in mind.

Supported Indexers/Downloaders

  • Prowlarr synchronization is supported to add all your indexers at once.
  • G4u.to: the site offers an API to VIP members, which can be used in Questarr.
Indexers Downloaders
Torznab protocol (Torrent) - qBittorent
- Transmission
- rTorrent
- Deluge
- Synology Download Station
Newznab protocol (Usenet) - Sabnzbd
- Nzbget
G4U.to Same as Newznab

Installation

Docker is the easiest way to deploy Questarr with all dependencies included. Questarr uses a SQLite database which is self-contained in the application container.

Option 1: One-liner (Simplest but minimal)

docker run -d -p 5000:5000 -v ./data:/app/data --name questarr ghcr.io/doezer/questarr:latest

Option 2: Docker Compose (more detailed)

  1. Use the docker-compose.yml file from the repo or create a minimal one:

    services:
      app:
        image: ghcr.io/doezer/questarr:latest
        ports:
          - "5000:5000"
        volumes:
          - ./data:/app/data
        environment:
          - SQLITE_DB_PATH=/app/data/sqlite.db
        restart: unless-stopped
    
  2. Start the application:

    docker compose up -d
    
  3. Access the application: Open your browser to http://localhost:5000

UNRAID

Install via Community Applications

Questarr is available in the Unraid Apps tab via Community Applications:

  1. Open the Apps tab and search for Questarr, then click Install.
  2. Set your Data Path (default /mnt/user/appdata/questarr), PUID/PGID, and ports (default 5000 HTTP, 9898 HTTPS if using it).
  3. Optionally set Library Path to the same root your download client(s) write into (e.g. /mnt/user/data) if you want Questarr to move completed downloads into your game library. This host path is mounted at /data inside the container, so add a mapping under Settings → Path Mappings with Local Path set to /data and Remote Path set to the exact path your download client reports for that root. Leave Library Path blank if you manage imports manually.
  4. Apply, then open http://<unraid-host>:5000 to access the UI.

Home Assistant Add-on

Install as a Home Assistant add-on

You can install Questarr as a Home Assistant add-on from this repository:

  1. In Home Assistant, open Settings → Add-ons → Add-on Store.
  2. Click the menu (⋮) and choose Repositories.
  3. Add this repository URL: https://github.com/Doezer/Questarr
  4. Install the Questarr add-on and start it.
  5. Open http://<home-assistant-host>:5000 to access the UI.

Screenshots

👀 See the app in action

Library

Your central hub for recent activity, collection overview and downloading available games. Manage your owned and wanted games.

Wishlist & Release calendar

Manage your wanted games and when they release.

Discover Games

Browse and find new games to add to your collection.

RSS & xRel.to feeds

Custom RSS feeds and xRel.to flux matched to IGDB games directly into the app. Default RSS is set to fitgirl site.

Downloads Queue

Monitor your downloaders' active downloads and history.

Statistics

Check out your library statistics.

Settings

Configure indexers, downloaders, and application preferences.

Tech Stack

React TypeScript Vite Tailwind CSS Node.js SQLite Node.js language OS CPU

  • APIs: IGDB (game metadata), Torznab/Newznab (indexer search), PCGamingWiki, NexusMods, xREL.to
  • AIs usage:
    • Claude and Github Copilot are used for AI-Assisted coding, internal code reviews, PR cleanup. Eventually automated coding and troubleshooting for small tasks and bug reports.
    • Gemini & Codex are used for automated code reviews, and brainstorming from time to time (as well as Perplexity for this usage).
    • Google Jules is used for light periodical refactoring.

Configuration

  1. First-time setup:
  • Create your admin account
  • Configure the IGDB credentials

Once logged-in:

  • Configure indexers
  • Add downloaders
  • Add games!

See Configuration on the Wiki for more detailed info.

Getting IGDB API Credentials

IGDB provides game metadata (covers, descriptions, ratings, release dates, etc.).

  1. Go to Twitch Developer Console
  2. Log in with your Twitch account (create one if needed)
  3. Click "Register Your Application"
  4. Fill in:
    • Name: Questarr (or any name)
    • OAuth Redirect URLs: http://localhost (not used, but required)
    • Category: Application Integration
  5. Click "Create"
  6. Copy your Client ID and Client Secret
  7. Add them to your .env file
Upgrading from v1.0 (PostgreSQL)

If you are upgrading from an older version that used PostgreSQL, you need to migrate your data.

  1. Stop your current application:

    docker compose down
    
  2. Get the migration tools: Download the docker-compose.migrate.yml file to your directory.

  3. Run the migration: This command spins up your old database and converts the data to the new format automatically.

    docker compose -f docker-compose.migrate.yml up --abort-on-container-exit
    
  4. Update your deployment: Replace your docker-compose.yml with the new version (see "Fresh Install" above).

  5. Start the new version:

    docker compose up -d
    

See docs/MIGRATION.md for more details.

Advanced usage

Docker compose

This is mainly for users who want the latest commit (e.g when trying out fixes for an issue) or contributing users.

  1. Clone the repository:
git clone https://github.com/Doezer/Questarr.git
cd Questarr
  1. Configure the application: Edit docker-compose.yml directly if you need to setup a specific environment.

  2. Build and start the containers:

docker-compose up -d
  1. Access the application: Open your browser to http://localhost:5000

Update to latest version for Docker

Your database content will be kept.

git pull
docker-compose down
docker-compose build --no-cache
docker-compose up -d

Reverse proxy / subdirectory deployment

Want to serve Questarr from a path like https://xxx.domain.com/Questarr instead of its own subdomain? Set QUESTARR_BASE_PATH=/Questarr on the container (or in .env for npm installs) and point your reverse proxy at it — no rebuild required. See docs/REVERSE_PROXY.md for full setup instructions (nginx, Traefik, Caddy).

Roadmap

Based on the Product Requirements Document, here's what's planned over the next 6 months, in priority order:

  • P0 — Post-Processing Pipeline : Move/copy completed downloads to a destination path, extract archives — closing the "set it and forget it" loop.
  • P1 — Smart Game Backlog: Track the version of each downloaded game and notify (or auto-download) when a newer release shows up on indexers.
  • P2 — Direct Download Support: Add debrid services (Real-Debrid and similar) as a downloader option, no seeding required.
  • P3 — External Library Sync: Import owned games from Steam/GOG libraries and local filesystem scans, not just wishlists.
  • P4 — Integrations with External Tools: Playnite, RomM, Gameyfin, and a generic webhook for anything not explicitly supported.
  • P5 — Indexer Page Links: A "View on indexer" link on search results and downloads.
  • P6 — PostgreSQL Support: Re-introduce PostgreSQL as an optional backend, with SQLite remaining the zero-config default.

Ongoing: mobile responsiveness, search UX, performance, and security improvements.

See the full PRD for problem statements, detailed scope, and non-goals.

Troubleshooting

See Troubleshooting on the Wiki

If you run into an issue, go to the Logs page and click Send Logs before reporting it — it makes diagnosing the problem much easier.

Getting Help

Project Security & Documentation

Contributing

Contributors

Made with contrib.rocks.

Legal Disclaimer

Questarr is a self-hosted game manager designed solely for organizing, tracking, and automating game libraries using user-provided data and metadata APIs (such as IGDB). Questarr does not host, distribute, or provide any copyrighted game content, ROMs, or download links. It is a technology-neutral tool: any indexers, download clients, or sources you configure are chosen and operated entirely by you. You are solely responsible for ensuring that your use of Questarr, and any content you access or download through third-party services you configure, complies with all applicable laws and the terms of service of those third parties.

License

GPL3 License - see COPYING file for details.

Acknowledgments

Install Questarr on Unraid in a few clicks.

Find Questarr in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Questarr Review the template variables and paths Click Install

Download Statistics

21,126
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/doezer/questarr:latest
Last Updated2026-08-02
First Seen2026-08-03

Runtime arguments

Web UI
http://[IP]:[PORT:5000]/
Network
bridge
Shell
sh
Privileged
false
Extra Params
--restart=unless-stopped --health-cmd="node -e \"require('http').get('http://localhost:5000/api/health', (r) =&gt; process.exit(r.statusCode === 200 ? 0 : 1))\"" --health-interval=30s --health-timeout=10s --health-retries=3 --health-start-period=40s

Template configuration

HTTP PortPorttcp

Web UI HTTP port.

Target
5000
Default
5000
Value
5000
HTTPS/SSL PortPorttcp

Web UI HTTPS/SSL port. Use only for native SSL support.

Target
9898
Default
9898
Value
9898
Data PathPathrw

Path to store Questarr data including the SQLite database.

Target
/app/data
Default
/mnt/user/appdata/questarr
Value
/mnt/user/appdata/questarr
Library PathPathrw

Optional: mount the same root your download client(s) write into (e.g. /mnt/user/data). Only needed if you want Questarr to move completed downloads into your game library; configure the matching path under Settings → Path Mappings. Leave blank if you manage imports manually.

Target
/data
PUIDVariable

User ID for file permissions.

Default
1000
Value
1000
PGIDVariable

Group ID for file permissions.

Default
1000
Value
1000
SQLite DB PathVariable

Full path to the SQLite database file inside the container.

Target
SQLITE_DB_PATH
Default
/app/data/sqlite.db
Value
/app/data/sqlite.db
SSL PortVariable

SSL port used internally by the app. Must match the HTTPS/SSL port mapping above.

Target
SSL_PORT
Default
9898
Value
9898