Skip to content

DUMB Frontend

The DUMB Frontend is a modern web application built with Nuxt 4 (Vue 3) that provides a unified interface for managing and monitoring all DUMB services. It communicates with the DUMB API to control services, view logs, and monitor system health.


Overview

The frontend provides:

  • Service dashboard - View and control all services from a single page
  • Real-time monitoring - Live status updates and system metrics
  • Onboarding wizard - Guided setup for first-time configuration
  • Log viewer - Real-time and historical log access with filtering
  • Settings management - Configure services, users, and preferences
  • Embedded service UIs - Access service interfaces without leaving DUMB

Default port

Service Port
DUMB Frontend 3005

The maintained Compose file publishes the frontend directly on 3005. Built-in Traefik on 18080 routes managed service UIs; it does not replace the normal DUMB frontend listener.


Key pages

Page Path Purpose
Dashboard / Service overview and control
Onboarding /onboarding Initial setup wizard
Settings /settings Configuration and user management
Service pages /services/[serviceId] Status, logs, embedded UI, updates, and config editors
Metrics /metrics System resource monitoring
Service Detail /services/[id] Individual service management
Login /login User authentication
Setup /setup First-time user creation

Features

Real-time updates

The frontend maintains WebSocket connections to receive live updates:

  • Service status - Running/stopped state, health checks
  • System metrics - CPU, memory, disk usage
  • Log streaming - New log entries as they occur

Reverse proxy must allow WebSockets

If you proxy the DUMB Frontend through Nginx or another reverse proxy, make sure WebSockets are enabled. WebSocket traffic powers real-time logs, metrics, and service status. Traefik enables WebSockets by default, but Nginx requires explicit configuration.

Service control

Start, stop, and restart services directly from the dashboard or service detail pages. The frontend shows:

  • Current status (running, stopped, unknown)
  • Health check results
  • Auto-restart count and status
  • Last restart timestamp

Embedded service UIs

When enabled, access service web interfaces directly within DUMB:

  • AltMount
  • Riven Frontend
  • pgAdmin
  • Seerr
  • Tautulli
  • Pulsarr
  • Maintainerr
  • mediastorm
  • Traefik Proxy Admin
  • Arr services (Radarr, Sonarr, etc.)
  • And more

This provides a unified experience without exposing individual service ports. Root-route applications such as Pulsarr, Maintainerr, mediastorm, AltMount, Traefik Proxy Admin, and the Traefik dashboard are kept in iframe context by the frontend proxy so their root-relative assets, APIs, and navigations do not collide with DUMB's own routes.

Split view mode

Compare two pages side-by-side with the resizable split view:

  • Monitor logs while viewing dashboard
  • Compare service configurations
  • View metrics alongside service details

Service detail pages

Each service has a dedicated detail page with:

  • Live status and health
  • Embedded UI tab when available
  • Config and log shortcuts
  • Auto-restart controls

Authentication

The frontend supports optional JWT-based authentication:

  • First-time setup - Create the first local account or skip authentication
  • Login - Secure access with username/password
  • Remember me - Persistent sessions across browser restarts
  • User management - Create, disable, and delete users

All enabled DUMB users currently have the same control-plane permissions; there is no viewer/operator/admin role split.

See the Authentication guide for details.


Configuration

The frontend reads its configuration from environment variables:

Variable Default Description
DUMB_API_URL http://127.0.0.1:8000 Backend API endpoint
DUMB_TRAEFIK_URL API host on port 18080 Traefik web endpoint used for embedded service HTTP and WebSocket proxying
NUXT_TELEMETRY_DISABLED 1 Disable Nuxt telemetry

DUMB automatically injects the current Traefik listener into a managed DUMB Frontend process, including when startup port reservation moves Traefik away from 18080. A separately deployed frontend must set DUMB_TRAEFIK_URL to an address reachable from that frontend container whenever Traefik uses another host or port.


Browser support

The frontend is tested on modern browsers:

  • Chrome/Chromium (recommended)
  • Firefox
  • Safari
  • Edge

Next steps