Skip to content

A sleek, modern dashboard for monitoring and managing your media stack services.

License

Notifications You must be signed in to change notification settings

autobrr/dashbrr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

autobrr logo
Dashbrr

GitHub release (latest by date) GitHub all releases GitHub Workflow Status

A sleek, modern dashboard for monitoring and managing your media stack services.
Dashbrr provides real-time monitoring, service health checks, and unified management for your entire media server ecosystem.

Main Dashboard

Table of Contents

Features

  • Real-time service health monitoring
  • Service-specific data display and management
  • Cached data with live updates via SSE (Server-Sent Events)
  • Flexible authentication options:
    • Built-in authentication system
    • OpenID Connect (OIDC) support
  • Responsive and modern UI with draggable cards
  • Docker support
  • Multiple database support (SQLite & PostgreSQL)
  • Built-in memory caching system
  • Comprehensive CLI for service management and system operations
  • Progressive Web App (PWA) support for mobile and desktop

Supported Services

Media Management

  • Plex: Active streams monitoring, version check
  • Jellyfin: Active sessions monitoring, play/transcode state, version check
  • Sonarr, Radarr, Lidarr, Readarr:
    • Queue visibility and download state
    • Version check and update notifications
  • Bazarr: Subtitle backlog, provider status, health issue visibility
  • Prowlarr: Indexer health, stats, active indexers
  • Overseerr: Request management, pending requests monitoring
  • Maintainerr: Collection and deletion-rule monitoring

Download Management

  • Autobrr: IRC network health, release statistics, recent releases
  • SABnzbd: Queue and failure summary
  • NZBGet: Queue and failure summary
  • Qui: qBittorrent instance connectivity and transfer telemetry

Network

  • Tailscale: Device status, information tracking, tag overview

Monitoring / Infrastructure

  • Uptime Kuma: Monitor status summary via metrics
  • Traefik: Router/service/middleware overview and issue routers
  • General Service: Generic health endpoint checks

Installation

Docker Installation

Several docker-compose configurations are available in the docker-compose directory:

# Basic setup
docker compose -f docker-compose/docker-compose.yml up -d

# With service discovery features
docker compose -f docker-compose/docker-compose.discovery.yml up -d

All configurations use PostgreSQL as the database by default. If you want to use SQLite instead, uncomment the SQLite configuration lines and comment out the PostgreSQL ones in your chosen compose file. See example configurations in the respective files in the docker-compose directory.

Note: There is also a docker-compose.integration.yml file in the docker-compose directory which is used specifically for running integration tests via the make test-integration command. This file is not intended for regular deployment use.

Binary Installation

Linux/macOS

Download the latest release:

wget $(curl -s https://api.github.com/repos/autobrr/dashbrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)

Unpack

Run with root or sudo. If you do not have root, place the binary in your home directory (e.g., ~/.bin).

tar -C /usr/local/bin -xzf dashbrr*.tar.gz

Systemd Service (Linux)

Create a systemd service file:

sudo nano /etc/systemd/system/[email protected]

Add the following content:

[Unit]
Description=dashbrr service for %i
After=syslog.target network-online.target

[Service]
Type=simple
User=%i
Group=%i
ExecStart=/usr/local/bin/dashbrr serve --config=/home/%i/.config/dashbrr/config.toml

[Install]
WantedBy=multi-user.target

Enable and start the service:

sudo systemctl enable -q --now dashbrr@$USER

Configuration

Configuration File

Dashbrr uses a simple TOML configuration file. Default location: ./config.toml

[server]
listen_addr = ":8080"
# Optional: if UI is served from a different origin than the API
# cors_origins = ["http://localhost:3000", "https://dash.example.com"]
# cors_allow_credentials = true

[database]
type = "sqlite"
path = "./data/dashbrr.db"

By default, the database file will be created in the same directory as your configuration file. For example:

  • If your config is at /home/user/.config/dashbrr/config.toml, the database will be at /home/user/.config/dashbrr/data/dashbrr.db
  • If your config is at /etc/dashbrr/config.toml, the database will be at /etc/dashbrr/data/dashbrr.db

You can override this behavior by using the --db-file flag to specify a different database location:

dashbrr serve --config=/etc/dashbrr/config.toml --db-file=/var/lib/dashbrr/dashbrr.db

Environment Variables

For a complete list of available environment variables and their configurations, see our Environment Variables Documentation.

Key configuration options include:

  • Server settings (listen address, ports)
  • Database settings (SQLite/PostgreSQL)
  • Authentication (Built-in/OIDC)

Service Discovery

Dashbrr supports automatic service discovery and configuration through Docker labels, Kubernetes annotations, and external configuration files. For detailed information about service discovery and configuration management, see our Service Discovery Documentation.

Quick references:

Key features include:

  • Docker container label-based discovery
  • Kubernetes service annotation-based discovery
  • YAML/JSON configuration file import/export
  • Environment variable substitution for API keys
  • Secure configuration management

Command Line Interface

Dashbrr provides a CLI for managing services, user, and system operations. For detailed information about available commands and their usage, see our Command Line Interface Documentation.

Key features include:

  • Service management (add, remove, list)
  • User management
  • Health checks
  • Version information

Authentication

Dashbrr offers two authentication methods:

Built-in Authentication (Default)

Simple username/password authentication with user management through the application.

Built-in Login

Built-in Register

OpenID Connect (OIDC)

Enterprise-grade authentication with support for providers like Auth0.

OIDC Login

Required OIDC environment variables:

OIDC_ISSUER=https://your-provider.com
OIDC_CLIENT_ID=your-client-id
OIDC_CLIENT_SECRET=your-client-secret
OIDC_REDIRECT_URL=http://localhost:3000/api/auth/oidc/callback

Tech Stack

Backend

  • Go with Gin web framework
  • Built-in memory caching system
  • Database: SQLite or PostgreSQL

Frontend

  • React with TypeScript
  • Vite & TailwindCSS
  • PNPM package manager

Screenshots

Main Dashboard Main dashboard with service health monitoring and status cards

Mobile View Mobile-friendly interface with PWA support

Built-in Authentication Built-in authentication system

Built-in Register Registration form

OIDC Login OpenID Connect (OIDC) authentication support

About

A sleek, modern dashboard for monitoring and managing your media stack services.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 5