Connect, explore and operate the data and infrastructure tools you already run.
A data stack can mean a separate interface, container, configuration, and port for every service. DSUI gives the tools you already run one consistent workspace.
Configure a connection, run the DSUI container alongside your stack, and start working from one place.
Configure a DuckDB database in dsui.yaml:
services:
- id: warehouse
adapter: duckdb
name: Analytics warehouse
connection:
method: file
path: /data/warehouse.duckdbRun DSUI alongside it in docker-compose.yml:
services:
dsui:
image: ghcr.io/northgraindata/dsui:latest
ports:
- "4192:4192"
environment:
DSUI_CONFIG: /etc/dsui/dsui.yaml
volumes:
- ./dsui.yaml:/etc/dsui/dsui.yaml:ro
- dsui-data:/data
volumes:
dsui-data:Start the workspace:
docker compose up -dOpen http://localhost:4192. DSUI loads its bundled DuckDB adapter and opens the database file in the persistent /data volume. Add your other services to the same dsui.yaml and Compose network.
Connect Apache Airflow, dbt, PostgreSQL, Trino, S3-compatible storage such as MinIO, and DuckDB through one workspace.
![]() |
![]() |
Need another tool? The TypeScript Adapter SDK lets you bring internal services and community adapters into the same workspace.
DSUI runs in your environment and keeps its local state in /data. It does not need a separate database or control plane. The official container image is published through GitHub Container Registry:
docker pull ghcr.io/northgraindata/dsui:latestContributions are welcome. See [CONTRIBUTING.md](./CONTRIBUTING.md) to get started.
DSUI is developed by Northgrain Data and is available under the Apache License 2.0.



