Documentation

Complete reference for installation, configuration, APIs, and integrations.

System Architecture

graph TD subgraph "LAN / WiFi Network" A[Browser Client] -->|HTTP 8080| D[Flask Server] B[Phone / Tablet] -->|HTTP 8080| D C[Discord Bot] -->|REST API| D end D -->|SocketIO| E[Screen Stream] D -->|REST| F[qBittorrent] D -->|REST| H[SABnzbd] D -->|REST| G[TMDB / Jikan / TVDB] D -->|Webhook| I[Discord Notifications] D -->|Metrics| J[Prometheus] D -->|CLI| K[Windscribe VPN] D -->|Proxy| L[Cloudflare Solver] D -->|Download| M[Rapidgator / URLs] D -->|Post-Process| N[FFmpeg] D -->|Watch| W[Watch Folder] D -->|WiFi Upload| U[WiFi Auto-Categorize] F -->|Files| O[Plex Library Folders] H -->|Files| O W -->|Auto-Categorize| O U -->|Auto-Categorize| O N -->|Default Tracks| O P[PyWebView Desktop Client] -->|HTTP 8080| A

Documentation Categories

Installation Quick Reference

download Server Setup
sudo apt update
sudo apt install python3 python3-pip python3-venv -y
sudo apt install qbittorrent qbittorrent-nox -y
sudo apt install python3-tk python3-dev ffmpeg -y
sudo apt install windscribe-cli -y  # optional
sudo apt install sabnzbdplus -y  # optional

git clone https://github.com/Compromisee/Plexarr.git
cd Plexarr/server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py

Watch Folder Quick Start

folder_open Auto-Categorize Files
# Enable in config.json or via Settings tab
{
  "watch_folder": {
    "enabled": true,
    "dir": "/media/plex/Downloads/dropbox",
    "interval": 5,
    "auto_start": true
  }
}

# Or start via API
POST /api/watch/start
{ "watch_dir": "/media/plex/Downloads/dropbox", "interval": 5, "name": "main" }

Drop files into the watch folder and Plexarr will auto-detect TV, movie, anime, or music and sort them into the correct Plex path.

First Run

The server creates config.json automatically on first run. Access the UI at http://your-server-ip:8080.