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.
- Game Discovery: Browse popular games, new releases, and upcoming titles via IGDB integration
- Library Management: Track your game collection with status indicators (Wanted, Owned, Playing, Completed)
- Download Management: Optionally integrate with indexers (Prowlarr/Torznab/Newsznab), torrent/usenet downloaders (qBittorrent, Transmission, rTorrent / sabnzbd, nzbget), and optionally enable auto-download to get them right when they're there.
- Search & Filter: Find games by genre, platform, and search terms. Automatically search for added games until available on your indexers.
- Clean Interface: UI optimized for browsing game covers and metadata, with light/dark mode
- Frontend: React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui
- Backend: Node.js, Express, TypeScript
- Database: PostgreSQL with Drizzle ORM
- APIs: IGDB (game metadata), Torznab (indexer search)
- AIs: Claude Sonnet 4.5, Gemini 3, Google Jules, GitHub Copilot
Docker is the easiest way to deploy Questarr with all dependencies included.
- Docker & Docker Compose
- IGDB API credentials (required for game discovery)
Questarr requires a PostgreSQL database. The easiest way to run both is using the provided Docker Compose configuration.
-
Get the
docker-compose.ymlfile:You can either clone this repository or just download the
docker-compose.ymlfile from it. -
Start the application:
docker-compose up -d
-
Access the application: Open your browser to
http://localhost:5000
- 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.).
- Go to Twitch Developer Console
- Log in with your Twitch account (create one if needed)
- Click "Register Your Application"
- Fill in:
- Name: Questarr (or any name)
- OAuth Redirect URLs:
http://localhost(not used, but required) - Category: Application Integration
- Click "Create"
- Copy your Client ID and Client Secret
- Add them to your
.envfile
Advanced usage
This is mainly for users who want the latest commit (e.g when trying out fixes for an issue) or contributing users.
- Clone the repository:
git clone https://github.com/Doezer/Questarr.git
cd Questarr-
Configure the application: Edit
docker-compose.ymldirectly if you need to setup a specific environment. -
Build and start the containers:
docker-compose up -d- Access the application:
Open your browser to
http://localhost:5000
Your database content will be kept.
git pull
docker-compose down
docker-compose build --no-cache
docker-compose up -dFor development or custom deployments without Docker. Launching it requires having a PostgreSQL DB configured apart (can use the docker compose file). Not for normal users.
- Clone and install dependencies:
git clone https://github.com/Doezer/Questarr.git
npm install- Use the DB from docker file or Set up PostgreSQL:
- Install PostgreSQL 16+ on your system
- Create a database:
createdb questarr - Create a
.envfile and provide your custom database connection string
-
Configure environment variables in
.env: See the .env.example for available variables. -
Initialize the database: This will run available migration files.
npm run db:migrateYou may run db:push instead if you have set DATABASE_URL (only for development)
- Development mode (with hot reload):
npm run dev- Access the application:
Open your browser to
http://localhost:5000
See Troubleshooting on the Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
See CONTRIBUTING.md for guidelines on how to contribute to this project.
Made with contrib.rocks.
GPL3 License - see COPYING file for details.
- Inspired by Sonarr and GamezServer
- Game metadata powered by IGDB API
- UI components from shadcn/ui