ILUM Marquez Web: data lineage visualization UI (React, OpenLineage)
5.6K
Web UI for exploring data lineage, job runs, and dataset metadata — built on React 18 and Material-UI.
ilum/marquez-web is the web-based user interface for Marquez, providing interactive visualization of data lineage, job dependencies, and dataset metadata. Built with React 18 and Material-UI, it enables data teams to explore and understand their data ecosystem.
Note: Ilum maintains this image for community use. Internally, Ilum uses a separate UI (planned for open-source release) optimized for large-scale lineage exploration.
# Run Marquez Web (connects to Marquez API)
docker run -d \
--name marquez-web \
-p 3000:3000 \
-e MARQUEZ_HOST=marquez \
-e MARQUEZ_PORT=5000 \
ilum/marquez-web:0.53.0
Access the UI at http://localhost:3000.
Note: Requires a running ilum/marquez backend. For Kubernetes, use the Ilum Marquez Helm Chart.
0.53.0, latest — React 18.2 + MUI 5 + Node 24 Alpine| Variable | Default | Description |
|---|---|---|
| MARQUEZ_HOST | localhost | Marquez API hostname |
| MARQUEZ_PORT | 5000 | Marquez API port |
| Variable | Default | Description |
|---|---|---|
| REACT_APP_ADVANCED_SEARCH | false | Enable advanced search features (build-time) |
Marquez Web is stateless. All data is stored in the Marquez backend (PostgreSQL).
NOTE: No persistent volumes are required for the web container.
| Port | Service |
|---|---|
3000 | Web UI (Express server with API proxy) |
The web container runs an Express server that:
No CORS configuration required — all API requests go through the same origin.
The image runs as a non-root Node.js user in Alpine Linux.
IMPORTANT: Marquez Web does not provide authentication. Protect access using:
# Trivy
trivy image ilum/marquez-web:0.53.0
Run from the web/ directory:
# Build multi-arch image
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t ilum/marquez-web:0.53.0 \
--build-arg REACT_APP_ADVANCED_SEARCH=true \
--push .
dive ilum/marquez-web:0.53.0
syft ilum/marquez-web:0.53.0 -o spdx-json > sbom.json
┌─────────────────────────────────────────────────────┐
│ Browser │
│ http://localhost:3000 │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ ilum/marquez-web (Node + Express) │
│ ┌─────────────────┐ ┌─────────────────────────┐ │
│ │ Static Assets │ │ API Proxy (/api/*) │ │
│ │ (React SPA) │ │ → marquez:5000 │ │
│ └─────────────────┘ └─────────────────────────┘ │
│ Port 3000 │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ ilum/marquez (Backend API) │
│ Port 5000 │
└─────────────────────────────────────────────────────┘
version: '3.8'
services:
marquez-web:
image: ilum/marquez-web:0.53.0
ports:
- "3000:3000"
environment:
MARQUEZ_HOST: marquez
MARQUEZ_PORT: 5000
depends_on:
- marquez
marquez:
image: ilum/marquez:0.53.0
ports:
- "5000:5000"
- "5001:5001"
environment:
POSTGRES_HOST: postgres
POSTGRES_DB: marquez
POSTGRES_USER: marquez
POSTGRES_PASSWORD: marquez
depends_on:
- postgres
postgres:
image: postgres:14
environment:
POSTGRES_DB: marquez
POSTGRES_USER: marquez
POSTGRES_PASSWORD: marquez
Content type
Image
Digest
sha256:d16fe764f…
Size
67.4 MB
Last updated
4 months ago
docker pull ilum/marquez-web