sharque/panopticum

By sharque

Updated 2 days ago

Web UI for dev/QA: SQL/NoSQL, Couchbase, Redis, Kafka, ES, K8s, S3, Prom — REST, Swagger, MCP.

Image
Networking
Web servers
Databases & storage
0

5.3K

sharque/panopticum repository overview

Panopticum is a web UI for developers and QA to explore and manage connections to databases and related systems. Designed for Kubernetes and Docker.

Supported data sources

TypeFeatures
PostgreSQLBrowse databases, schemas, tables; run SQL; edit rows via CTID where supported
Greenplum / YugabyteDB / CockroachDBSame UI as PostgreSQL (/pg/{id}); SQL; metadata fallbacks / CTID rules for wire-compatible engines
MySQL / MariaDBBrowse databases and tables; run SQL; edit rows (if table has PK or unique index)
MS SQL ServerBrowse databases, schemas, tables; run SQL; edit rows (if table has PK or unique index)
Oracle DatabaseBrowse schemas and tables; run SQL; edit rows by ROWID
MongoDBBrowse databases and collections; run queries
Redis / Dragonfly / Valkey / KeyDBBrowse databases and keys; view key types and values; edit keys
ClickHouseBrowse databases and tables; run SQL
Cassandra / ScyllaDBBrowse keyspaces and tables; run CQL; edit rows (when table has primary key)
RabbitMQBrowse queues; peek messages (read-only)
KafkaBrowse topics and partitions; peek records (read-only)
Elasticsearch / OpenSearchBrowse indices; search (Query DSL); view and edit documents by _id (no delete)
KubernetesAPI URL + bearer token; browse pods, Deployments, StatefulSets, Services, Ingresses, ConfigMaps, Secrets; tail logs; describe pod; namespace events; secret reveal on demand (audited — value not logged). Soft handling of 401/403/404
S3 / MinIOBrowse buckets and prefixes; peek objects (JSON, CSV, text, Parquet head, binary hex). Optional region
Prometheus / VictoriaMetricsInstant and range PromQL; browse jobs and metrics. Auth: Basic or Bearer token
H2 (TCP) / HSQLDB / Apache Derby (network)Browse schemas and tables; run SQL (/lightjdbc/{id}/...). JDBC URL–based connections
CouchbaseBuckets → scopes → collections; browse documents; run N1QL (/couchbase/{id}/...). TLS: couchbases:// / connection settings

Features

  • HTTP Basic Auth (credentials from env)
  • Light and dark theme (header and login); syntax highlighting in query editors (CodeMirror)
  • Sidebar connection tree — use / in names for folders (e.g. Prod/PG, Dev/Mongo); tree state persisted in the browser
  • Add, test, and remove connections per source type
  • Browse metadata (schemas, tables, collections, keys, K8s resources, S3 prefixes, metrics) with pagination
  • Execute SQL (PostgreSQL family, MySQL/MariaDB, MS SQL Server, Oracle, ClickHouse, H2/HSQLDB/Derby), CQL (Cassandra/ScyllaDB), MongoDB queries, N1QL (Couchbase), and PromQL (Prometheus/VictoriaMetrics)
  • Edit and save rows where supported (PostgreSQL by CTID, MySQL/MS SQL Server with PK/unique, Oracle by ROWID, MongoDB, Redis family, Cassandra/ScyllaDB with PK, Elasticsearch/OpenSearch by _id)
  • REST API for operations; Swagger UI at /swagger-ui (OpenAPI 3.0)
  • MCP (Model Context Protocol) at POST /mcp for AI agents — list sources, catalogs, entities; run queries / peek S3; get-record-detail (including Couchbase documentId); describe-entity (schema, types, PK/FK/indexes, row count / samples where applicable). N1QL listed for Couchbase in tool metadata.
  • Data Diff — compare records side-by-side in the browser (localStorage), across connections or types
  • HTMX for partial updates without full page reloads
  • Offline-friendly — HTMX, CodeMirror, fonts bundled locally, no CDN
  • Localization: EN and RU (browser or path)

Quickstart

docker run -d --name panopticum \
  -p 8080:8080 \
  -v panopticum-data:/data \
  -e PANOPTICUM_USER=admin \
  -e PANOPTICUM_PASSWORD=changeme \
  sharque/panopticum:latest

Open http://localhost:8080. Use a version tag (e.g. sharque/panopticum:v8.2.0) for reproducible deploys. Images are also published to GHCR: ghcr.io/thesharque/panopticum. Helm chart: https://thesharque.github.io/panopticum — see GitHub repo for details.

Environment variables

VariableDescriptionDefault
PANOPTICUM_USERBasic Auth loginadmin
PANOPTICUM_PASSWORDBasic Auth passwordadmin
PANOPTICUM_DB_PATHH2 file path (in Docker mount a volume, e.g. /data/panopticum under /data)./data/panopticum
PANOPTICUM_CONNECTIONS_JSONJSON array of connections on first start (optional)
ADMIN_LOCKIf true, disables adding and deleting connections (UI and API)false
READ_ONLYIf true, disables editing data on detail pages and related APIfalse

Port

  • 8080 — Web UI, Swagger UI (/swagger-ui), MCP (/mcp)

Source / docs: https://github.com/theSharque/panopticum

Tag summary

Content type

Image

Digest

sha256:7d66c1604

Size

232.3 MB

Last updated

2 days ago

docker pull sharque/panopticum