Skip to content

Latest commit

 

History

History
258 lines (177 loc) · 7.71 KB

README.md

File metadata and controls

258 lines (177 loc) · 7.71 KB

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

Warning

Dashbrr is in early development. Expect bugs, and please report them ❤️

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
  • Sonarr & Radarr:
    • Comprehensive queue management:
      • Monitor active downloads
      • Stuck downloads detection and resolution
    • Error reporting for indexers and download clients
    • Version check and update notifications
  • Overseerr: Request management, pending requests monitoring

Download Management

  • Autobrr: IRC network health, release statistics
  • Prowlarr: Indexer health monitoring
  • Maintainerr: Rule matching, scheduled deletion monitoring
  • Omegabrr: Service health, manual ARR triggers

Network

  • Tailscale: Device status, information tracking, tag overview

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:

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

Configuration

Configuration File

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

[server]
listen_addr = ":8080"

[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)
  • Cache configuration
  • Database settings (SQLite/PostgreSQL)
  • Authentication (Built-in/OIDC)

Service Discovery

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

Key features include:

  • Docker container label-based discovery
  • Kubernetes service label-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/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