Open Source · Self-Hosted · Django Native

    The control room for your Django app

    Inspect, debug, and operate your Django app from one place, directly inside the admin. No third-party dashboards. No signups.

    pip install dj-control-room

    The Suite

    A control room, not another dashboard

    A growing collection of Django admin panels that bring operational visibility to your stack without leaving your admin.

    Django Admin · Control Room
    Django administrationWelcome, admin.
    Home › DJ Control Room

    Authentication and Authorization

    Groups
    Users

    DJ Control Room

    Dashboard
    Redis
    Cache
    Celery
    URLs
    Signals
    Errors
    Control Room

    Select a panel to view monitoring tools.

    Installed Panels

    CONNECTED

    Redis Panel

    Monitor connections, memory, keys, and throughput.

    View panel →

    HEALTHY

    Cache Panel

    Inspect cached entries, hit/miss ratios.

    View panel →

    CONNECTED

    Celery Panel

    Track workers, monitor task queues.

    View panel →

    HEALTHY

    URLs Panel

    Browse registered URL patterns.

    View panel →

    CONNECTED

    Signals Panel

    Inspect connected signal receivers.

    View panel →

    HEALTHY

    Errors Panel

    Track recent exceptions, tracebacks.

    View panel →

    More panels coming soon

    New panels are being built to extend your control room.

    Admin-native observability

    Every panel lives inside your Django admin. No new dashboards to learn, just the interface your team already knows.

    Modular by design

    Install only what you need. Each panel is an independent Django app with zero cross-dependencies.

    Real-time monitoring

    Live stats, auto-refreshing views, and instant feedback on your infrastructure health. Straight from the admin.

    Self-hosted & private

    Your data never leaves your servers. Full control over retention, access, and compliance requirements.

    Zero-config setup

    pip install, add to INSTALLED_APPS, done. No agents, sidecars, or external services to configure.

    Django permissions built-in

    Leverage Django's auth system. Control who sees what using the groups and permissions you already manage.

    Built for production. Not just development.

    Django Control Room runs inside the Django admin and relies entirely on Django's own authentication and permission system. There is no DEBUG=True requirement. A built-in granular permission system lets you control exactly which users and groups can access each panel, so you can deploy with confidence and operate your app every day.

    Get Started

    Up and running in minutes

    Install Django Control Room to get all of the tools at once, or install them separately if you prefer.

    1

    Install the package

    Install Control Room and specify any panels you want.

    pip install dj-control-room[redis,celery]  # or simply use [all]
    2

    Add to INSTALLED_APPS

    Drop it into your Django settings like any other app.

    INSTALLED_APPS = [
        # ...
        "dj_control_room_base",
        "dj_celery_panel",
        "dj_redis_panel",
        "dj_control_room",  # place control room after any panels
    ]
    3

    Include the URLs

    Register the control room route before your admin URLs.

    urlpatterns = [
        path("admin/dj-control-room-base/", include("dj_control_room_base.urls")),  # for base
        path("admin/dj-redis-panel/", include("dj_redis_panel.urls")),  # for redis panel
        path("admin/dj-celery-panel/", include("dj_celery_panel.urls")),  # for celery panel
        path("admin/dj-control-room/", include("dj_control_room.urls")),  # for the control room
        path("admin/", admin.site.urls),
    ]
    4

    Open the admin and explore

    Head to your Django admin. The Control Room is ready.

    Django administrationWelcome, admin.
    Home › DJ Control Room

    Authentication and Authorization

    Groups
    Users

    DJ Control Room

    Dashboard
    Redis
    Cache
    Celery
    URLs
    Signals
    Errors
    Control Room

    Select a panel to view monitoring tools.

    Installed Panels

    CONNECTED

    Redis Panel

    Monitor connections, memory, keys, and throughput.

    View panel →

    HEALTHY

    Cache Panel

    Inspect cached entries, hit/miss ratios.

    View panel →

    CONNECTED

    Celery Panel

    Track workers, monitor task queues.

    View panel →

    HEALTHY

    URLs Panel

    Browse registered URL patterns.

    View panel →

    CONNECTED

    Signals Panel

    Inspect connected signal receivers.

    View panel →

    HEALTHY

    Errors Panel

    Track recent exceptions, tracebacks.

    View panel →

    More panels coming soon

    New panels are being built to extend your control room.

    Each panel provides its own configuration options. See individual panel information →

    The Panels

    Meet the panels

    Each project is a standalone Django app. Install one or all. They work independently.

    pip install dj-redis-panel

    dj-redis-panel

    Redis monitoring, inside your admin

    Get full visibility into your Redis instances without leaving Django. Inspect keys, monitor memory usage, view real-time stats, and debug connection issues, all from a familiar interface.

    • Live key browser with search and filtering
    • Memory and connection stats at a glance
    • Per-database breakdown and slow log viewer
    • Works with Redis, Redis Cluster, and Sentinel
    Django Admin · dj-redis-panel

    Memory Used

    48.2 MB

    Connected Clients

    12

    Hit Rate

    94.7%

    Uptime

    14d 6h

    Key Browser
    Search keys…
    KeyTypeTTLSize
    session:user_4821STRING1800s2.1 KB
    cache:product_listHASH3600s14.8 KB
    queue:email_jobsLIST892 B
    rate:api_10.0.1.5STRING60s48 B
    lock:payment_procSTRING30s64 B
    pip install dj-cache-panel

    dj-cache-panel

    Cache visibility, zero guesswork

    Understand exactly what's happening in your cache layer. Visualize hit rates, inspect stored keys, and debug invalidation issues so you can stop guessing and start optimizing.

    • Cache hit/miss ratio tracking over time
    • Key inspection with TTL and size details
    • Backend-agnostic: Memcached, Redis, file, and more
    • Invalidation debugging and bulk operations
    Django Admin · dj-cache-panel
    Hit / Miss Ratio
    Hits Misses
    Mon
    Tue
    Wed
    Thu
    Fri
    Sat
    Sun
    Cached Entries
    KeyBackendTTLHitsStatus
    views.homepageRedis300s1,284active
    views.product_42Redis600s847active
    api.user_prefsMemcached120s2,103active
    template.nav_fragFile3600s432stale
    pip install dj-celery-panel

    dj-celery-panel

    Task queues, tamed

    Monitor your Celery workers, queues, and tasks from Django admin. See what's running, what's failed, and what's stuck without deploying Flower or a separate monitoring stack.

    • Real-time worker and queue status overview
    • Task history with failure details and retries
    • Queue depth and throughput metrics
    • Revoke, retry, and inspect tasks from the admin
    Django Admin · dj-celery-panel
    worker-1
    142 tasksCPU 23%
    worker-2
    89 tasksCPU 18%
    worker-3
    231 tasksCPU 67%
    Queue DepthLast 60 min
    Recent Tasks
    TaskStatusDurationWhen
    send_welcome_emailsuccess0.4s2m ago
    process_paymentsuccess1.2s4m ago
    generate_reportrunningnow
    sync_inventoryfailed8.1s6m ago
    resize_imageretry7m ago
    pip install dj-urls-panel

    dj-urls-panel

    Your URL map, at a glance

    Browse every registered URL pattern, namespace, and view in your Django project. Search, filter, and reverse-lookup routes without touching the terminal.

    • Full URL pattern tree with namespace grouping
    • Reverse lookup and search across all routes
    • View function and class details for each endpoint
    • Test and validate URL resolution directly from the admin
    Django Admin · dj-urls-panel

    :api-v1

    14 routes

    :admin

    38 routes

    :auth

    5 routes

    :catalog

    9 routes

    URL Patterns
    Search routes…
    PatternNameViewMethods
    /homeviews.HomeViewGET
    /api/v1/users/user-listapi.views.UserViewSetGET, POST
    /api/v1/users/<id>/user-detailapi.views.UserViewSetGET, PUT, DELETE
    /admin/admin:indexadmin.site.indexGET
    /auth/login/loginauth.views.LoginViewGET, POST
    /products/<slug>/product-detailcatalog.views.ProductDetailGET
    pip install dj-signals-panel

    dj-signals-panel

    Your signal landscape, fully mapped

    Get full visibility into your project's signal landscape. See which signals are registered, which receivers are connected, and what that receiver code actually does.

    • Complete overview of all registered signals
    • Receiver mapping with source module details
    • Built in vs custom signal breakdown
    • Inspect receiver code directly from the admin
    Django Admin · dj-signals-panel

    Signals

    12

    Receivers

    23

    Built-in

    6

    Custom

    6

    Signal Connections
    Filter signals…
    SignalSenderReceiverModule
    post_saveauth.Userprofiles.create_profileprofiles.signals
    post_saveorders.Ordernotifications.send_order_emailnotifications.signals
    pre_deletecatalog.Productcatalog.clear_product_cachecatalog.signals
    post_savepayments.Paymentledger.record_transactionledger.signals
    request_finishedNoneanalytics.flush_bufferanalytics.signals
    user_logged_inauth.Useraudit.log_loginaudit.signals

    More panels on the way

    We're building more tools to bring full observability to your Django admin. Star us on GitHub to stay in the loop.

    Star on GitHub

    Build your own panel

    Django Control Room is built to be extended. Use our cookiecutter template to scaffold a fully structured panel plugin in seconds — with all the conventions already in place.

    Philosophy

    Why self-host?

    Keep your stack simple and your data close.

    Your infrastructure, your data

    Everything runs on your servers. No data leaves your network. Full control over retention and access.

    Zero vendor costs

    Stop paying per-seat or per-event fees. Open source means free forever — no surprise invoices.

    No more signup fatigue

    One Django admin login. No new accounts, API keys, or third-party dashboards to juggle.

    Native Django integration

    Built on Django's admin framework. Uses your existing models, permissions, and authentication.

    FAQ

    Frequently asked questions

    Everything you need to know about Django Control Room.

    Support the project

    Django Control Room is open source and free to use. If it saves you time in production, consider supporting its ongoing development.

    Sponsor on GitHub

    Built by a Django practitioner

    Django Control Room is built and maintained by Yasser Toruno, a software engineer focused on building admin-native tools for production Django systems.

    Open source from day one. Contributions, bug reports, and feature requests are always welcome.

    Stay in the loop

    New panels, project updates, and Django content straight to your inbox.

    DCR
    Django Control Room

    MIT License

    Django is a registered trademark of the Django Software Foundation. This project is not affiliated with or endorsed by the DSF.