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.
โญ Star us on GitHub โ your support motivates us a lot! ๐๐
Track game status, ratings, notes, and your play journal. Use Backlog roulette to pick a game from Library or Playing.
Game Discovery
Browse IGDB, RSS, and xREL.to, manage ratings and visibility from game details, sync your Steam wishlist, or discover games on disk with Library Import.
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. Settings โ Appearance โ Platforms scopes the app to your chosen platforms, with optional filters to hide shelved/owned games and age-restricted or erotic content.
Download Management
Automate downloads and library imports, with archive updates that preserve unrelated installed files, manual review, optional security scanning, and experimental AI matching.
Real-time Notifications
Choose in-app and Apprise alerts, including update controls for Shelved and Completed games.
Rich Game Metadata
Details enriched with IGDB, Steam, PCGamingWiki, and NexusMods, including trending mods where available.
Statistics
Visualize collection statistics with Discord sharing support. ๐ง
One-click install on UNRAID, CasaOS, Umbrel and Cosmos Cloud, a Home Assistant add-on, a Windows installer, and a Helm chart for Kubernetes, plus a Playnite extension to sync your library and request games from the couch. ๐ง
Design
Clean, minimalist, dark-first UI built with mobile usage in mind.
Docker is the easiest way to deploy Questarr with all dependencies included.
Since 1.5.0, native Windows installation is also supported via the Windows installer.
Questarr uses SQLite by default, with optional PostgreSQL support. Persist the
data volume to retain the SQLite database, configuration, and encryption keys.
Supported architectures: released Docker images are published for linux/amd64 and linux/arm64, so Questarr runs on a Raspberry Pi 4/5 with a 64-bit OS, other 64-bit ARM SBCs, and ARM-based NAS boxes as well as on x86 hardware. Docker selects the right architecture automatically โ the commands below are identical on every platform. (32-bit ARM, e.g. armv7/a 32-bit OS on Raspberry Pi 3 and earlier, is not supported. The Home Assistant add-on is amd64-only.)
Option 1: One-liner (Simplest but minimal)
docker run -d-p 5000:5000 -v ./data:/app/data --name questarr ghcr.io/doezer/questarr:latest
Access the application:
Open your browser to http://localhost:5000
Optional โ use Postgres instead of SQLite:
Questarr uses SQLite by default and needs no database configuration. If you
would rather run it against Postgres, use the bundled compose file:
POSTGRES_PASSWORD=$(openssl rand -hex 32) docker compose -f docker-compose.postgres.yml up -d
Keep whatever password you pick โ the same value must be supplied on every
restart, and it must be safe to embed in a connection URL (a hex string
from openssl rand -hex 32 always is).
Switching an existing SQLite install to Postgres does not move your data โ
run scripts/sqlite-to-pg.ts to bring your library across. See
docs/DATABASE.md.
Windows (installer)
Install via the Windows installer (.exe)
Prefer running Questarr as a native Windows service instead of Docker? Download
`QuestarrSetup--windows-x64.exe` from the
[GitHub releases](https://github.com/Doezer/Questarr/releases), choosing a 1.5.0
or later release with the installer attached, and run it. The installer bundles Node.js, installs Questarr as a Windows service
(`Questarr.Service.exe`), and starts it automatically โ open
`http://localhost:5000` once it finishes.
</details>
### Proxmox VE (LXC)
Deploy as a Proxmox LXC container โ no Docker
Run this **on your Proxmox VE host**, as `root`, to create an LXC container with Questarr installed
and running as a `systemd` service:
```bash
bash -c "$(curl --fail --silent --show-error --location --proto '=https' --proto-redir '=https' https://raw.githubusercontent.com/Doezer/Questarr/main/scripts/proxmox/questarr-lxc.sh)"
```
The script picks the next free container ID, downloads a Debian template if needed, creates an
unprivileged container, builds Questarr from source, and prints the URL to open. Every prompt has a
default, so you can accept them all and be done in a few minutes.
Update later with `pct exec -- update`.
See [docs/PROXMOX.md](/Questarr/docs/PROXMOX.html) for non-interactive installs, sizing guidance, configuration,
and troubleshooting.
</details>
### 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://:5000` to access the UI.
</details>
### CasaOS
Install via Custom Install (AppFile)
1. Open the **App Store** and click **Custom Install**.
2. Click the **import** icon (top right) and paste this URL:
`https://raw.githubusercontent.com/Doezer/Questarr/main/casaos/docker-compose.yml`
3. Review the mounts โ by default `/DATA/AppData/questarr` holds Questarr's data and
`/DATA/Downloads` is mounted at `/data` so Questarr can import finished downloads. If you keep
that second mount, add a matching entry under **Settings โ Path Mappings**.
4. Click **Install**, then open Questarr from the CasaOS dashboard (port `5000`).
### Umbrel
Install via Community App Store
1. In umbrelOS, open the **App Store**.
2. Click the **โฎ** menu (top right) โ **Community App Stores**.
3. Add this repository URL: `https://github.com/Doezer/Questarr`
4. Open the **Doezer** store and install **Questarr** (app ID `doezer-questarr`), then open it from
your dashboard (`http://umbrel.local:5000`).
### Cosmos Cloud
Install as a ServApp
1. Open **Market Place โ Custom Install** (or **Servapps โ Add**).
2. Paste this URL:
`https://raw.githubusercontent.com/Doezer/Questarr/main/cosmos/questarr.cosmos-compose.json`
3. Fill in the install form: **Data folder**, optional **Library folder** (the root your download
client writes into, mounted at `/data`), and `PUID`/`PGID`.
4. Install. Cosmos creates the route `questarr.` and handles HTTPS for you.
</details>
### Kubernetes (Helm)
Install with the bundled Helm chart
A Helm chart lives in [`charts/questarr`](charts/questarr). It is not published to a Helm
repository yet, so install it from a clone:
```bash
git clone https://github.com/Doezer/Questarr.git
cd Questarr
helm install questarr charts/questarr --namespace questarr --create-namespace
```
Then port-forward (or enable the Ingress) and open the UI:
```bash
kubectl port-forward -n questarr svc/questarr 5000:5000
```
Questarr keeps its state in a single SQLite database on a ReadWriteOnce volume, so the
chart never runs more than one replica. See [`charts/questarr/README.md`](/Questarr/charts/questarr/)
for the full option reference โ persistence, media mounts, secrets, Ingress and
subdirectory deployments.
### 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://:5000` to access the UI.
</details>
All platform definitions live in the repository and share the same mounts and ports โ see
[docs/HOME_SERVER_APPS.md](/Questarr/docs/HOME_SERVER_APPS.html) for details.
## 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. Download from a gameโs details to add it as Wanted and send a release to your downloader.
#### RSS & xRel.to feeds
Discover releases through [RSS feeds](/Questarr/docs/RSS.html) and xREL.to, with IGDB matching.
### Downloads Queue
Monitor your downloaders' active downloads and history.
### Statistics
Check out your library statistics.
### Settings
Configure indexers, downloaders, and application preferences.
## Tech Stack






[](package.json)
[](https://www.typescriptlang.org/)
[](#installation)
[](#installation)
- **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](https://github.com/Doezer/Questarr/wiki/Configuring-the-application#configure-app-behavior-in-settings--general) for more detailed info.
Getting IGDB API Credentials
IGDB provides game metadata (covers, descriptions, ratings, release dates, etc.).
1. Go to [Twitch Developer Console](https://dev.twitch.tv/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.
The migration tooling was removed in v1.5.0 and is now run from the archived
**v1.4.2** release. Follow [docs/MIGRATION.md](/Questarr/docs/MIGRATION.html), which inlines
the pinned compose file and links the sources by tag permalink.
> This is only for **pre-v1.1 PostgreSQL** installations. Running Questarr _on_
> PostgreSQL as an opt-in backend is a separate feature โ see
> `docs/DATABASE.md`.
See [docs/MIGRATION.md](/Questarr/docs/MIGRATION.html) 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:**
```bash
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.
1. **Build and start the containers:**
```bash
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.
```bash
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](/Questarr/docs/REVERSE_PROXY.html) for
full setup instructions (nginx, Traefik, Caddy).
Behind any reverse proxy, also set `TRUST_PROXY=1` so rate limits see real
client IPs (see the same doc).
## Roadmap
Based on the [Product Requirements Document](/Questarr/docs/PRD.html), here is the release status and remaining work, 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**: Installed-version tracking and update filtering are available; configurable automatic upgrades remain a priority.
- **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 extension shipped (library sync, request-to-download); RomM, Gameyfin, and a generic webhook for anything not explicitly supported are still planned.
- โ **P5 โ Indexer Page Links**: A "View on indexer" link on search results and downloads.
- โ **P6 โ PostgreSQL Support**: PostgreSQL is available as an optional backend, with SQLite remaining the zero-config default.
**Ongoing:** mobile responsiveness, search UX, performance, and security improvements.
See the full [PRD](/Questarr/docs/PRD.html) for problem statements, detailed scope, and non-goals.
## Troubleshooting
See [Troubleshooting on the Wiki](https://github.com/Doezer/Questarr/wiki/Troubleshooting)
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
- **Issues**: [GitHub Issues](https://github.com/Doezer/Questarr/issues)
- **Discussions**: [GitHub Discussions](https://github.com/Doezer/Questarr/discussions)
- **Discord**: [Join our Server](https://discord.gg/STkp86wP9F)
## Project Security & Documentation
- Start with [docs/GITHUB_DOCUMENTATION.md](/Questarr/docs/GITHUB_DOCUMENTATION.html) for the canonical documentation map.
## Star History
## Contributing
- See [.github/CONTRIBUTING.md](.github/CONTRIBUTING.md) for guidelines on how to contribute to this project.
- See [MAINTAINERS.md](/Questarr/docs/MAINTAINERS.html) for the current list of project members with access to sensitive resources.
### Contributors
Made with [contrib.rocks](https://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
GPL-3.0-only - see [COPYING](/Questarr/COPYING) for the full license text.
## Acknowledgments
- Inspired by [Sonarr](https://sonarr.tv/) and [GamezServer](https://github.com/05sonicblue/GamezServer)
- Game metadata powered by [IGDB API](https://www.igdb.com/)
- UI components from [shadcn/ui](https://ui.shadcn.com/)
- Security scanning supported by [Snyk](https://snyk.io) through the Snyk Open Source program
- AI code reviews by [CodeRabbit](https://coderabbit.ai), free for open source
- This project is tested with BrowserStack