main*
📝logarr-media-server-mission-control.md
📅June 14, 20243 min read📁logarr

Building Logarr: Mission Control for Media Server Stacks

#logarr#media-server#nestjs#nextjs#postgresql#docker

Building Logarr: Mission Control for Media Server Stacks

The Problem

Running a media server stack means juggling multiple dashboards, each with their own logs and error reporting. When something breaks, you're chasing cascading failures across apps while the goalposts keep moving.

Plex has its dashboard. Jellyfin has another. Sonarr, Radarr, Prowlarr — each with separate logs. When a user reports "video won't play," you don't know if it's a transcoding issue, a network problem, or a database corruption.

Logarr aggregates logs from all your servers, automatically detects and ranks issues by impact, and helps you track them to resolution — all from a single dashboard.

Architecture

Loading diagram...

Features

CategoryCapabilities
Log AggregationReal-time streaming, full-text search, filtering by server/level/source
File IngestionDirect container log reading, multi-line stack traces, rotation detection
Issue DetectionAutomatic error fingerprinting, deduplication, impact scoring
AI AnalysisRoot cause identification, multi-provider support (Anthropic, OpenAI, Google, Ollama, LM Studio)
Session TrackingActive playback monitoring, transcoding visibility

Supported Servers

ServerStatusServerStatus
JellyfinPlex
SonarrEmby
RadarrWhisparr
ProwlarrKodi🚧 Planned

How Issue Detection Works

Error Fingerprinting — Similar errors are normalized and hashed to group thousands of occurrences into single trackable issues. That one bug causing 500 identical errors becomes 1 issue, not 500.

Impact Scoring — Each issue receives a 0-100 score based on:

  • Severity (40%)
  • Frequency (25%)
  • Affected users (20%)
  • Sessions (10%)
  • Recency (5%)

AI-Powered Analysis

Logarr connects to multiple AI providers for deep issue analysis:

  • Anthropic (Claude)
  • OpenAI (GPT-4)
  • Google (Gemini)
  • Ollama (local models)
  • LM Studio (local models)

Each issue gets a root cause analysis, AI-generated summary, and actionable fix recommendations.

Tech Stack

  • Frontend: Next.js 16, React 19, TypeScript
  • Backend: NestJS 11
  • Database: PostgreSQL 16 + pgvector
  • Real-time: WebSockets
  • Deployment: Docker

Quick Start

git clone https://github.com/itz4blitz/logarr.git
cd logarr
cp .env.example .env
docker compose up -d

Open http://localhost:3001 and add your first server.

Or use pre-built images:

services:
  backend:
    image: itz4blitz/logarr-backend:latest
  frontend:
    image: itz4blitz/logarr-frontend:latest

Data Retention

Logarr automatically cleans up old logs:

Log TypeDefaultNotes
Info/Debug30 daysLower-priority logs cleaned first
Error/Warn90 daysKept 3x longer for debugging
Cleanup3 AM dailyConfigurable via cron

Issues and statistics are preserved even after logs are deleted.

Links