Skip to main content

RQ Dashboard FastAPI 🛠

Redis FastAPI Python

RQ Dashboard FastAPI is a general purpose, lightweight FastAPI-based web frontend to monitor your RQ queues, jobs, and workers in real-time. Goal of this package is to ease integration into FastAPI-Applications and provide a Docker Image for convenience.

rq-dashboard-fast

Featured in Related Projects Redis Queue Docs

Features

  • Real-time monitoring — live view of queues, jobs, and workers with adaptive auto-refresh
  • Queue card view — donut charts showing job state breakdown at a glance, toggle between card and table view
  • Job management — inspect, requeue, and delete jobs; view tracebacks with syntax highlighting; export to CSV/JSON
  • Scheduled & recurring jobs — first-class support for one-off future jobs (enqueue_at/enqueue_in) and recurring cron jobs via RQ's native CronScheduler
  • Worker monitoring — live worker status, queue assignments, and job throughput
  • Token-based authentication with access scopes — issue per-token credentials that restrict visibility to specific queues, hide workers or schedulers, enforce read-only mode, and set a custom dashboard title. Ideal for sharing a scoped view with team members or clients without exposing your full infrastructure
  • Dark mode — OS-aware with manual toggle, persisted across sessions
  • Mountable or standalone — embed as a FastAPI sub-application on any existing app, or run directly from the terminal
  • Docker-ready — official images for linux/amd64 and linux/arm64

Example Usage

from fastapi import FastAPI
from rq_dashboard_fast import RedisQueueDashboard
import uvicorn

app = FastAPI()
dashboard = RedisQueueDashboard("redis://redis:6379/", "/rq")

app.mount("/rq", dashboard)

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

Access the Dashboard at

http://127.0.0.1:8000/rq

Installing from PyPi

PyPi: rq-dashboard-fast

$ pip install rq-dashboard-fast

Running Standalone

After installing, you can run the dashboard directly from the terminal:

$ rq-dashboard-fast

This starts the dashboard at http://localhost:8000/rq using Redis at redis://localhost:6379.

Available options:

$ rq-dashboard-fast --help
$ rq-dashboard-fast --redis-url redis://my-redis:6379 --port 9000
$ rq-dashboard-fast --host 127.0.0.1 --prefix /dashboard
Flag Default Environment Variable
--redis-url redis://localhost:6379 REDIS_URL
--host 0.0.0.0 FASTAPI_HOST
--port 8000 FASTAPI_PORT
--prefix /rq —
--auth-config — RQ_DASH_AUTH_CONFIG

Authentication

The dashboard supports opt-in token-based authentication with per-queue access control. Generate a token, create a YAML config file with hashed tokens and queue scopes, and pass it via --auth-config or RQ_DASH_AUTH_CONFIG. When no config is provided, the dashboard runs with open access as before.

rq-dashboard-fast generate-token          # generate a token + hash pair
rq-dashboard-fast --auth-config auth.yaml # start with auth enabled

See the full documentation in docs/authentication.md.

Scheduled & Recurring Jobs

The dashboard displays both one-off future-scheduled jobs (via queue.enqueue_at() / queue.enqueue_in()) and recurring cron jobs (via CronScheduler). Each appears in a different part of the UI.

See docs/scheduling.md for a full explanation.

Running in Docker

  1. You can run the RQ Dashboard FastAPI as a Docker container with custom Redis URL:
docker run -e REDIS_URL=<your_redis_url> hannes221/rq-dashboard-fast

Access the Dashboard at

http://127.0.0.1:8000/rq

To change change the port, you can specify the following flag:

docker run -e REDIS_URL=<your_redis_url>  -e FASTAPI_PORT=<your_fastapi_port> hannes221/rq-dashboard-fast

Replace <your_fastapi_port> with your desired FastAPI and host port.

  1. You can use Docker Compose by creating a docker-compose.yml file:
services:
  dashboard:
    image: hannes221/rq-dashboard-fast
    ports:
      - '8000:8000'
    environment:
      - REDIS_URL=<your_redis_url>

Then run:

docker compose up

Access the Dashboard at

http://127.0.0.1:8000/rq

To change the part update the compose file:

services:
  dashboard:
    image: hannes221/rq-dashboard-fast
    ports:
      - '<your_fastapi_port>:<your_fastapi_port>'
    environment:
      - REDIS_URL=<your_redis_url>
      - FASTAPI_PORT=<your_fastapi_port>

Replace <your_fastapi_port> with your desired FastAPI and host port.

Docker Hub: hannes221/rq-dashboard-fast

Github Repository

Github: rq-dashboard-fast

$ pip install rq-dashboard-fast

Development

Frontend CSS (UnoCSS)

The dashboard uses UnoCSS with utility classes applied directly in Jinja2 templates. The generated CSS file (rq_dashboard_fast/static/css/uno.css) is committed to the repo, so no Node.js is needed to run the dashboard — only to modify styles.

npm install                # Install UnoCSS CLI (first time only)
npm run dev:css            # Watch mode — rebuilds on template changes
npm run build:css          # One-off build

UnoCSS scans all rq_dashboard_fast/templates/**/*.html files and outputs to rq_dashboard_fast/static/css/uno.css. Configuration lives in uno.config.ts and includes:

  • Shortcuts — reusable class groups for buttons (btn-delete, btn-requeue, etc.), table cells (th-cell, td-cell), and status badges (badge-failed, badge-started, etc.)
  • Safelist — badge classes that are constructed dynamically in JS ('badge-' + state) and wouldn't be detected by static scanning
  • Dark mode — class-based (darkMode: 'class'), toggled on <html> via a button in the header

After modifying templates or uno.config.ts, run npm run build:css and commit the updated uno.css.

Additional CSS

rq_dashboard_fast/static/css/custom.css contains styles that can't be expressed as utilities: notification toasts (dynamically created by JS) and Pygments dark mode overrides.

Contributing

If you want to contribute, reach out or create a PR directly.

Metadata

Release files for rq-dashboard-fast 0.9.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rq-dashboard-fast 0.9.2
File Size Uploaded
rq_dashboard_fast-0.9.2.tar.gz 261.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rq-dashboard-fast 0.9.2
File Interpreter ABI Platform
rq_dashboard_fast-0.9.2-py3-none-any.whl Python 3 none any Details

Total release size: 532.2 kB

Release files / rq_dashboard_fast-0.9.2.tar.gz

Download URL rq_dashboard_fast-0.9.2.tar.gz
Size 261.5 kB
Tags Source
SHA-256 checksum
How to use checksums
262ffd2a87d991fe677ecb653dc303058aadd8bc8eb7016ab426b0fc5a580e43
BLAKE2b-256 checksum
How to use checksums
7e909d008dbe649c4228d68dd80d0d94b28777bb244420f34bd177e3dc49da6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.

Transparency log

Release files / rq_dashboard_fast-0.9.2-py3-none-any.whl

Download URL rq_dashboard_fast-0.9.2-py3-none-any.whl
Size 270.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cc2872f751a9c7010a7b60ceb9e0f4cf96e2aa79c16799675c6499baa11101c
BLAKE2b-256 checksum
How to use checksums
8f84e6a7cae7c945b48ac7c5c8cabc931b5a0b115fb5a920aabeae59985e8679
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.9.2 This release

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.5.12

2 release files

0.5.11

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.5

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page