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.

Questarr logo

Self-host Questarr

v1.5.0
BetaOpen SourceGPL-3.0
docker run -d -p 5000:5000 -v ./data:/app/data --name questarr ghcr.io/doezer/questarr:latest
Updated5 days ago
LanguageTypescript
Setup difficultyEasy
MobileResponsive
ThemeDark mode
Stars
703
Ports
5000 (HTTP web interface), 9898 (HTTPS web interface)
Docker
ghcr.io/doezer/questarr
Library overview showing collection statistics, game statuses, and recent activityGame details page with metadata, ratings, and download optionsWishlist and release calendar view for tracking anticipated gamesDiscover games browse interface with search and filtering

What is Questarr?

Questarr provides automated game library management for self-hosting enthusiasts who want centralized control over their video game collections. The application discovers new releases through IGDB metadata sources, Steam wishlists, RSS feeds, and xREL.to platforms. Users can configure Prowlarr indexer synchronization or add standalone Torznab/Newznab providers, along with download clients supporting both torrent (qBittorrent, Transmission, rTorrent, Deluge) and Usenet protocols (SABnzbd, NZBGet). Game metadata enrichment comes from multiple services including PCGamingWiki and NexusMods. The software ships SQLite as default storage with optional PostgreSQL backend available for advanced deployments. Mobile-optimized dark-themed interface ensures comfortable usage across devices.

Should you self-host Questarr?

Questarr scores 56/100 on selfhost.directory (how scoring works) and ranks #38 of 118 in Media Server. It has 703 GitHub stars.

It shipped 7 stable releases in the past year. The latest, v1.5.0, came out on 12 October 2026. New versions land roughly every 5 days.

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

Its closest alternative on selfhost.directory is Jellyfin (88/100, 58 727 stars). It scores higher overall, so compare the two before you pick. See Questarr vs Jellyfin side by side.

Features

  • Game Discovery
  • Playnite extension
  • Rich game metadata
  • Search Filtering
  • Statistics visualizationDiscord sharing support marked as work-in-progress

Questarr README

How to install Questarr

Install Questarr with Docker

Environment variables
SQLITE_DB_PATH, PORT, QUESTARR_BASE_PATH, TRUST_PROXY
docker run -d -p 5000:5000 -v ./data:/app/data --name questarr ghcr.io/doezer/questarr:latest

Supports linux/amd64 and linux/arm64 architectures including Raspberry Pi 4/5 with 64-bit OS, ARM SBCs, and x86 hardware

How to configure Questarr

  • CREDENTIALS_ENCRYPTION_KEY--- Credentials Encryption --- Optional. Encrypts stored indexer/downloader API keys, usernames, and passwords at rest. If not provided, a secure random key will be generated and stored in the database. Must be a 64-character hex string (32 bytes) if set -- e.g. `openssl rand -hex 32`.

    --- Credentials Encryption --- Optional. Encrypts stored indexer/downloader API keys, usernames, and passwords at rest. If not provided, a secure random key will be generated and stored in the database. Must be a 64-character hex string (32 bytes) if set -- e.g. `openssl rand -hex 32`.

  • DATABASE_POOL_MAXOptional: connection pool size (default: 10)

    Optional: connection pool size (default: 10)

  • DATABASE_URL
  • DB_DIALECT--- Database backend ------------------------------------------------------- Questarr uses SQLite by default and needs no configuration for it. Leave the two variables below unset unless you are deliberately running Postgres. SQLITE_DB_PATH above is ignored when DB_DIALECT=postgres. Switching an existing SQLite install to Postgres does not move your data on its own -- see docs/DATABASE.md for the

    --- Database backend ------------------------------------------------------- Questarr uses SQLite by default and needs no configuration for it. Leave the two variables below unset unless you are deliberately running Postgres. SQLITE_DB_PATH above is ignored when DB_DIALECT=postgres. Switching an existing SQLite install to Postgres does not move your data on its own -- see docs/DATABASE.md for the

  • DISABLE_RATE_LIMITSDev/test only: set to true to switch off the API rate limiters (used by the e2e harness, `npm run dev:test`). Ignored unless NODE_ENV is development or test.

    Dev/test only: set to true to switch off the API rate limiters (used by the e2e harness, `npm run dev:test`). Ignored unless NODE_ENV is development or test.

  • HOSTOptional: Host to bind the server to (default: 0.0.0.0, all interfaces -- same for npm and docker) Set to 127.0.0.1 if you only want the app reachable via a local reverse proxy.

    Optional: Host to bind the server to (default: 0.0.0.0, all interfaces -- same for npm and docker) Set to 127.0.0.1 if you only want the app reachable via a local reverse proxy.

  • IGDB_CLIENT_ID--- IGDB API Configuration --- Required for game discovery and metadata features. If not set here, the app will ask for it. Get credentials by registering an app at https://dev.twitch.tv/console

    --- IGDB API Configuration --- Required for game discovery and metadata features. If not set here, the app will ask for it. Get credentials by registering an app at https://dev.twitch.tv/console

  • IGDB_CLIENT_SECRET
  • JWT_SECRET--- Authentication --- Optional. If not provided, a secure random secret will be generated and stored in the database. Set this to a long random string to keep sessions valid across server restarts.

    --- Authentication --- Optional. If not provided, a secure random secret will be generated and stored in the database. Set this to a long random string to keep sessions valid across server restarts.

  • NEXUSMODS_API_KEY--- Nexus Mods API Configuration --- Optional. Required to check if a game has a section on NexusMods and display trending mods. Get your personal API key at https://www.nexusmods.com/users/myaccount?tab=api If not set here, the app will ask for it in Settings → Services. Rate limits: 500 requests/hour, 20,000 requests/day.

    --- Nexus Mods API Configuration --- Optional. Required to check if a game has a section on NexusMods and display trending mods. Get your personal API key at https://www.nexusmods.com/users/myaccount?tab=api If not set here, the app will ask for it in Settings → Services. Rate limits: 500 requests/hour, 20,000 requests/day.

  • NODE_ENVOptional: Node environment (development, production, test) --> Defaults to production

    Optional: Node environment (development, production, test) --> Defaults to production

  • PORT--- Server Configuration --- Optional: Port to run the server on (default: 5000)

    --- Server Configuration --- Optional: Port to run the server on (default: 5000)

  • QUESTARR_BASE_PATHOptional: Serve the app from a subdirectory behind a reverse proxy (e.g. https://xxx.domain.com/Questarr). Leading slash, no trailing slash. See docs/REVERSE_PROXY.md for full setup instructions.

    Optional: Serve the app from a subdirectory behind a reverse proxy (e.g. https://xxx.domain.com/Questarr). Leading slash, no trailing slash. See docs/REVERSE_PROXY.md for full setup instructions.

  • SQLITE_DB_PATHOptional: Database path (default: sqlite.db)

    Optional: Database path (default: sqlite.db)

  • STEAM_API_KEY--- Steam Web API Configuration --- Optional. Required only for the Steam achievements section in a game's Journal tab (wishlist import and app-ID lookup do not need it). Get a key at https://steamcommunity.com/dev/apikey

    --- Steam Web API Configuration --- Optional. Required only for the Steam achievements section in a game's Journal tab (wishlist import and app-ID lookup do not need it). Get a key at https://steamcommunity.com/dev/apikey

  • TRUST_PROXYOptional: set when Questarr runs behind a reverse proxy (nginx, Traefik, Caddy...), so rate limits see real client IPs and cookies keep the Secure flag over HTTPS. Off by default. Values: a hop count (1 for a single proxy), or comma-separated proxy IPs/subnets (e.g. 172.16.0.0/12, loopback). Do not set it if clients can reach Questarr directly. See docs/REVERSE_PROXY.md.

    Optional: set when Questarr runs behind a reverse proxy (nginx, Traefik, Caddy...), so rate limits see real client IPs and cookies keep the Secure flag over HTTPS. Off by default. Values: a hop count (1 for a single proxy), or comma-separated proxy IPs/subnets (e.g. 172.16.0.0/12, loopback). Do not set it if clients can reach Questarr directly. See docs/REVERSE_PROXY.md.

Questarr releases & version history

FAQ

Can I run Questarr in Docker?

Yes, Questarr ships as a Docker image at ghcr.io/doezer/questarr:latest with full Docker Compose example available.

Which download clients are supported?

Questarr supports qBittorrent, Transmission, rTorrent, Deluge, Synology Download Station, SABnzbd, and NZBGet.

How do I connect my indexer accounts?

Go to Settings > Indexers and add your Prowlarr instance or standalone Torznab/Newznab indexers.

Is Questarr free and self-hosted?

Yes, Questarr runs entirely on your own hardware or server under GPL-3.0 license with no cloud dependency, subscription, or forced telemetry.

How does it work?

Questarr connects to IGDB as a metadata source, allows you to add games to your library, and can automatically detect and download available releases if indexers and downloaders are configured.

What is Questarr?

Questarr is an open-source game library manager and discovery tool inspired by the *Arr ecosystem (Sonarr, Radarr...) and similar precursors such as GamezServer.

More in Gaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…