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.
Run DSUI on your host for local development and project files:
npx dsuiInstall Bun 1.3.12 or newer first. DSUI loads ./dsui.yaml
when present and keeps local state in ~/.local/share/dsui.
Use Docker when you want an isolated, reproducible deployment. It connects to services reachable from the container. If an adapter requires an executable or runtime, provide it in the image used to run DSUI.
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.



