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.

Docker Pulls GHCR License CI Codecov

Discord Buy Me A Coffee

Features

Screenshots

👀 See the app in action ### Dashboard Your central hub for recent activity, collection overview and downloading available games. ### Discover Games Browse and find new games to add to your collection.

### Library & Wishlist Manage your wanted and owned games.

### Calendar Keep track of upcoming releases. ### Downloads Queue (WIP) Monitor your downloaders' active downloads and history. ### Settings Configure indexers, downloaders, and application preferences.

Tech Stack

React TypeScript Vite Tailwind CSS Node.js SQLite

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.

Fresh Install

Option 1: One-liner (Simplest)

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

Option 2: Docker Compose

  1. Create a docker-compose.yml file:

    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

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.

Configuration

  1. First-time setup:

Once logged-in:

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](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
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 ``` ### Manual Installation (npm) - NOT RECOMMENDED For development or custom deployments without Docker. 1. **Clone and install dependencies:** ```bash git clone https://github.com/Doezer/Questarr.git npm install ``` 2. **Configure environment variables in `.env`:** See the .env.example for available variables. 3. **Initialize the database:** This will run available migration files. ```bash npm run db:migrate ``` 5. **Development mode (with hot reload):** ```bash npm run dev ``` 6. **Access the application:** Open your browser to `http://localhost:5000`

Troubleshooting

See Troubleshooting on the Wiki

Getting Help

Contributing

See .github/CONTRIBUTING.md for guidelines on how to contribute to this project.

Contributors

Made with contrib.rocks.

License

GPL3 License - see COPYING file for details.

Acknowledgments