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 & Docker Compose (recommended) OR
- Node.js 20+ and PostgreSQL 16+
- IGDB API credentials (required for game discovery)
Docker Compose is the easiest way to deploy Questarr with all dependencies included.
- Clone the repository:
git clone https://github.com/Doezer/Questarr.git
cd Questarr- Create environment file:
cp .env.example .env- Configure environment variables in
.env:
# Required: IGDB API credentials (get from https://dev.twitch.tv/console)
IGDB_CLIENT_ID=your_client_id_here
IGDB_CLIENT_SECRET=your_client_secret_here
# Optional: Server configuration
PORT=5000
HOST=0.0.0.0
NODE_ENV=production
# Database (already configured for Docker)
DATABASE_URL=postgresql://postgres:password@db:5432/questarr- Build and start the containers:
docker-compose up -d-
Access the application: Open your browser to
http://localhost:5000 -
First-time setup:
- Create your admin account on first visit
- Configure indexers
- Add downloaders
Update to latest version:
git pull
docker-compose down
docker-compose build --no-cache
docker-compose up -dFor development or custom deployments without Docker.
- Clone and install dependencies:
git clone https://github.com/Doezer/Questarr.git
cd Questarr
npm install- Set up PostgreSQL:
- Install PostgreSQL 16+ on your system
- Create a database:
createdb questarr - Create a
.envfile with your database connection string
- Configure environment variables in
.env:
DATABASE_URL=postgresql://user:password@localhost:5432/questarr
IGDB_CLIENT_ID=your_client_id
IGDB_CLIENT_SECRET=your_client_secret
PORT=5000- Initialize the database:
npm run db:migrate- Build and start:
Development mode (with hot reload):
npm run devProduction mode:
npm run build
npm start- Access the application:
Open your browser to
http://localhost:5000
See Configuration on the Wiki for more detailed info.
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
See Troubleshooting on the Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
See CONTRIBUTING.md for guidelines on how to contribute to this project.
GPL3 License - see COPYING file for details.
- Inspired by Sonarr and GamezServer
- Game metadata powered by IGDB API
- UI components from shadcn/ui