Octopus
1.x
Docs/Octopus/Admin dashboard
Open

Reading3 min
Updated31 Jul 2026
Sourcev1/observability/admin-dashboard.mdx

Admin dashboard

Octopus ships a built-in admin dashboard: a server-rendered web UI plus a JSON REST API for inspecting routes, health, metrics, plugins, configuration, and FARP services. It is served on the gateway listen port — there is no separate admin port or process.

Where it lives01

The dashboard mounts under /admin, and a /__admin alias is rewritten to the same routes:

# Open the dashboard UI
open http://localhost:8080/admin

# Internal-prefix alias (rewritten to /admin)
curl http://localhost:8080/__admin

The /admin* path space is matched ahead of normal proxy routing, so it is not forwarded to an upstream.

What the dashboard renders02

The UI is built with server-side templates (Askama) plus HTMX and Alpine.js for live refresh, and includes:

PagePathShows
Overview/adminAggregate stats — requests, active routes, latency, health, connections.
Routes/admin/routesConfigured routes with per-route request counts and health.
Health/admin/healthUpstream health-check status.
Plugins/admin/pluginsInstalled plugins and their state.
Analytics/admin/analyticsTraffic and latency analytics.
Logs/admin/logsRecent activity log entries.
Config/admin/configEffective configuration values.

There is also a set of modern UI pages under /admin/octopus-ui* and an optional React SPA mounted at /admin/ui. A WebSocket at /admin/ws drives real-time dashboard events.

All of the data behind these pages is also available as JSON — see the Admin API reference.

Protecting the dashboard03

The dashboard is enabled by default and, out of the box, requires no authentication. You protect it with the admin config block.

yaml
admin:
  auth_provider: dashboard-auth   # must match a configured auth provider name
Warning

With no auth_provider configured, the admin dashboard and its JSON API are reachable by anyone who can reach the gateway port. Always set an auth_provider (and lock the port down at the network layer) in any non-local deployment.