2025-03-02 09:25:00
github.com
Recommendarr is a web application that generates personalized TV show and movie recommendations based on your Sonarr, Radarr, Plex, and Jellyfin libraries using AI.
- AI-Powered Recommendations: Get personalized TV show and movie suggestions based on your existing library
- Sonarr & Radarr Integration: Connects directly to your media servers to analyze your TV and movie collections
- Plex & Jellyfin Integration: Analyzes your watch history to provide better recommendations based on what you’ve actually watched
- Flexible AI Support: Works with OpenAI, local models (Ollama/LM Studio), or any OpenAI-compatible API
- Customization Options: Adjust recommendation count, model parameters, and more
- Dark/Light Mode: Toggle between themes based on your preference
- Poster Images: Displays media posters with fallback generation
- Sonarr instance with API access (for TV recommendations)
- Radarr instance with API access (for movie recommendations)
- Plex or Jellyfin instance with API access (for watch history analysis) – optional
- An OpenAI API key or any OpenAI-compatible API (like local LLM servers)
- Node.js (v14+) and npm for development
Using our pre-built Docker image is the quickest way to get started:
# Pull the image
docker pull tannermiddleton/recommendarr:latest
# Run the container
docker run -d \
--name recommendarr \
-p 3030:80 \
tannermiddleton/recommendarr:latest
Then visit http://localhost:3030
in your browser.
For more Docker options, see the Docker Support section below.
- Clone the repository:
git clone https://github.com/fingerthief/recommendarr.git
cd recommendarr
- Install dependencies:
- Run the development server:
- Visit
http://localhost:3030
in your browser.
- When you first open Recommendarr, you’ll be prompted to connect to your services
- For Sonarr (TV shows):
- Enter your Sonarr URL (e.g.,
http://localhost:8989
orhttps://sonarr.yourdomain.com
) - Enter your Sonarr API key (found in Sonarr under Settings → General)
- Click “Connect”
- Enter your Sonarr URL (e.g.,
- For Radarr (Movies):
- Enter your Radarr URL (e.g.,
http://localhost:7878
orhttps://radarr.yourdomain.com
) - Enter your Radarr API key (found in Radarr under Settings → General)
- Click “Connect”
- Enter your Radarr URL (e.g.,
- For Plex (Optional – Watch History):
- Enter your Plex URL (e.g.,
http://localhost:32400
orhttps://plex.yourdomain.com
) - Enter your Plex token (can be found by following these instructions)
- Click “Connect”
- Enter your Plex URL (e.g.,
- For Jellyfin (Optional – Watch History):
- Enter your Jellyfin URL (e.g.,
http://localhost:8096
orhttps://jellyfin.yourdomain.com
) - Enter your Jellyfin API key (found in Jellyfin under Dashboard → API Keys)
- Enter your Jellyfin user ID (found in Jellyfin user settings)
- Click “Connect”
- Enter your Jellyfin URL (e.g.,
You can connect to any combination of these services based on your needs.
- Navigate to Settings
- Select the AI Service tab
- Enter your AI service details:
- API URL: For OpenAI, use
https://api.openai.com/v1
. For local models, use your server URL (e.g.,http://localhost:1234/v1
) - API Key: Your OpenAI API key or appropriate key for other services (not needed for some local servers)
- Model: Select a model from the list or leave as default
- Parameters: Adjust max tokens and temperature as needed
- API URL: For OpenAI, use
- Click “Save Settings”
- Navigate to TV Recommendations or Movie Recommendations page
- Adjust the number of recommendations you’d like to receive using the slider
- If connected to Plex, choose whether to include your watch history in the recommendations
- Click “Get Recommendations”
- View your personalized media suggestions with posters and descriptions
The easiest way to run Recommendarr:
# Pull the image
docker pull tannermiddleton/recommendarr:latest
# Run the container
docker run -d \
--name recommendarr \
-p 3030:80 \
tannermiddleton/recommendarr:latest
If you want to build the Docker image yourself:
# Clone the repository
git clone https://github.com/fingerthief/recommendarr.git
# Navigate to the project directory
cd recommendarr
# Build the Docker image
docker build -t recommendarr:local .
# Run the container
docker run -d \
--name recommendarr \
-p 3030:80 \
recommendarr:local
The repository includes a docker-compose.yml
file. Simply run:
# Clone the repository
git clone https://github.com/fingerthief/recommendarr.git
# Navigate to the project directory
cd recommendarr
# Start with docker-compose
docker-compose up -d
This will build the image from the local Dockerfile and start the service on port 3030.
Recommendarr works with various AI services:
- OpenAI API: Standard integration with models like GPT-3.5 and GPT-4
- Ollama: Self-hosted models with OpenAI-compatible API
- LM Studio: Run models locally on your computer
- Anthropic Claude: Via OpenAI-compatible endpoints
- Self-hosted models: Any service with OpenAI-compatible chat completions API
Here are some recommendations for models that work well with Recommendarr:
- Meta Llama 3.3 70B Instruct: Great performance for free
- Gemini 2.0 models (Flash/Pro/Thinking): Excellent recommendation quality
- DeepSeek R1 models: Strong performance across variants
- Claude 3.7/3.5 Haiku: Exceptional for understanding your library preferences
- GPT-4o mini: Excellent balance of performance and cost
- Grok Beta: Good recommendations at reasonable prices
- Amazon Nova Pro: Strong media understanding capabilities
- DeepSeek R1 7B Qwen Distill: Good performance for a smaller model (via LM Studio)
For best results, try setting max tokens to 4000 and temperature between 0.6-0.8 depending on the model.
- Connect to your Sonarr instance to get personalized TV show recommendations
- The AI analyzes your TV library to understand your preferences
- Optional Plex or Jellyfin integration enhances recommendations based on what you’ve actually watched
- Receives detailed recommendations with show descriptions and reasoning
- Connect to your Radarr instance to get personalized movie recommendations
- The AI analyzes your movie collection to understand genres and preferences you enjoy
- Optional Plex or Jellyfin integration provides watch history data for better personalization
- Get suggested movies with descriptions, reasoning, and poster images
- Easily discover new films based on your existing collection
Your data never leaves your control:
- Sonarr, Radarr, Plex, and Jellyfin API credentials are stored in your browser’s localStorage
- AI API keys are stored locally and used only for your requests
- Media library and watch history data is sent only to the AI service you configure
- No analytics or tracking are included in the application
# Install dependencies
npm install
# Run development server with hot-reload
npm run serve
# Compile and minify for production
npm run build
# Lint and fix files
npm run lint
This project is licensed under the MIT License – see the LICENSE file for details.
- Vue.js – The progressive JavaScript framework
- Sonarr – For the amazing API that powers TV recommendations
- Radarr – For the API that enables movie recommendations
- Plex – For the API that provides watch history data
- Jellyfin – For the API that provides additional watch history data
- OpenRouter – For the API that powers AI-based suggestions
Keep your files stored safely and securely with the SanDisk 2TB Extreme Portable SSD. With over 69,505 ratings and an impressive 4.6 out of 5 stars, this product has been purchased over 8K+ times in the past month. At only $129.99, this Amazon’s Choice product is a must-have for secure file storage.
Help keep private content private with the included password protection featuring 256-bit AES hardware encryption. Order now for just $129.99 on Amazon!
Help Power Techcratic’s Future – Scan To Support
If Techcratic’s content and insights have helped you, consider giving back by supporting the platform with crypto. Every contribution makes a difference, whether it’s for high-quality content, server maintenance, or future updates. Techcratic is constantly evolving, and your support helps drive that progress.
As a solo operator who wears all the hats, creating content, managing the tech, and running the site, your support allows me to stay focused on delivering valuable resources. Your support keeps everything running smoothly and enables me to continue creating the content you love. I’m deeply grateful for your support, it truly means the world to me! Thank you!
BITCOIN bc1qlszw7elx2qahjwvaryh0tkgg8y68enw30gpvge Scan the QR code with your crypto wallet app |
DOGECOIN D64GwvvYQxFXYyan3oQCrmWfidf6T3JpBA Scan the QR code with your crypto wallet app |
ETHEREUM 0xe9BC980DF3d985730dA827996B43E4A62CCBAA7a Scan the QR code with your crypto wallet app |
Please read the Privacy and Security Disclaimer on how Techcratic handles your support.
Disclaimer: As an Amazon Associate, Techcratic may earn from qualifying purchases.