Skip to content

Capacity Planning

Mithrandir includes a built-in capacity planning system to help you understand the resource demands of your homelab and anticipate when you might need to upgrade your hardware.

How It Works

Each app in the registry is assigned two scores:

  • Performance (Low / Medium / High) — How much CPU and RAM the app typically consumes
  • Storage (Low / Medium / High) — How much disk space the app uses and how fast it grows

When you run mithrandir capacity, the CLI gathers your system's hardware specs (CPU, RAM, disk), checks which apps are installed, and computes aggregate scores to give you a quick overview of your system's capacity.

Score Reference

AppPerformanceStorageNotes
Actual BudgetLowLowPersonal finance, small database
AudiobookshelfLowMediumAudiobook and podcast streaming, stores metadata
AdventureLogMediumMediumDjango backend with PostGIS database
AFFiNEMediumMediumKnowledge base with PostgreSQL
BazarrLowLowSubtitle fetching, minimal resources
CookCLILowLowRecipe manager using the Cooklang markup language
DuckDNSLowLowDNS updater, background service
ExcalidrawLowLowClient-side whiteboard, minimal server resources
FlareSolverrMediumLowHeadless browser for CAPTCHA solving
GatusLowLowHealth monitoring, tiny footprint
Home AssistantMediumLowAutomation engine with integrations and history database
HomarrLowLowDashboard, mostly static content
ImmichHighHighML processing for face detection and search, stores all photos and videos
JellyfinHighHighMedia transcoding and large media libraries
LidarrLowMediumMusic database and monitoring
n8nMediumLowWorkflow automation engine
NavidromeLowLowMusic streaming, reads existing files
Omni ToolsLowLowStatic tool collection
Open WebUIHighMediumAI chat interface, model inference
Paperless-ngxMediumMediumDocument management system with OCR
PenpotMediumMediumDesign platform with multiple services
Pi-holeLowLowDNS server, minimal resources
ProfilarrLowLowProfile sync utility
ProwlarrLowLowIndexer proxy, minimal resources
qBittorrentLowHighDownload client, stores torrents and media files
RadarrLowMediumMovie database and monitoring
SeerrLowLowRequest management UI
SonarrLowMediumTV database and monitoring
Stirling PDFMediumLowPDF processing on demand
SureMediumLowRails + Sidekiq workers
TRIPLowLowTravel journal, small database
VaultwardenLowLowPassword vault, minimal storage
WireGuardLowLowVPN tunnel, kernel module
Your SpotifyLowMediumSpotify history tracking with MongoDB

How Scoring Works

Each score level maps to a numeric weight: Low = 1, Medium = 2, High = 3. Only installed apps are counted.

The aggregate performance score is the sum of all installed apps' performance weights. For example, if you have Jellyfin (3), Immich (3), Prowlarr (1), and Radarr (1) installed, your total is 8.

This total is then compared against your hardware using a rough heuristic: each score point maps to approximately 0.15 CPU cores and 200 MB of RAM. The system computes a headroom ratio — your available resources divided by the estimated need — using whichever is more constrained (CPU or RAM).

Verdicts

Performance Verdict

Based on the headroom ratio (available resources / estimated need):

HeadroomVerdictMeaning
3x or moreComfortablePlenty of headroom, system can handle more apps
1.5x – 3xAdequateSystem is handling the load well
0.8x – 1.5xTightResources are stretched, consider upgrading before adding more heavy apps
Below 0.8xOverloadedSystem may struggle under load, upgrade recommended

Storage Verdict

Based on disk usage percentage of the most constrained mount point:

  • Healthy — Less than 60% used
  • Moderate — 60-80% used
  • Warning — 80-95% used
  • Critical — More than 95% used

TIP

Storage verdicts are based on actual disk usage, not the app scores. The storage scores in the table above indicate how fast an app's storage tends to grow over time, which helps you plan ahead.

Usage

sh
mithrandir capacity

The command displays:

  1. System hardware info (CPU, cores, RAM)
  2. Storage usage per mount point with progress bars
  3. Per-app resource scores table
  4. Aggregate capacity scores with verdicts