Open-source Docker management and observability platform.
DockSight helps developers and teams visually manage Docker environments, monitor containers, inspect logs, organize environments, and later connect multiple Docker hosts through lightweight agents.
Current increment: container start / stop / restart from the dashboard.
DockSight is a monorepo with a modular-monolith backend:
| Path | Role |
|---|---|
apps/web |
React + Vite dashboard |
apps/server |
NestJS API (Prisma, Redis, WebSockets, Swagger) |
agent |
Go Docker host agent (discovery + lifecycle) |
packages/* |
Shared types, protocol, config, and utilities |
infrastructure/ |
Docker and deployment assets |
docs/ |
Architecture and ADRs |
Web (React) ──HTTP/WS──► Server (NestJS modular monolith)
│
PostgreSQL + Redis
│
Go agents ◄──WebSocket──► /agents
│
Docker Engine
See docs/architecture.md for details.
- Frontend: React, TypeScript, Vite, Tailwind CSS, shadcn/ui, React Query, Zustand, Lucide
- Backend: NestJS, TypeScript, Prisma, PostgreSQL, Redis, WebSockets, Swagger
- Agent: Go (Docker Engine API + WebSocket registration/discovery)
- Infra: Docker Compose
- Node.js 20+
- npm 10+
- Docker and Docker Compose
- Go 1.22+ (only needed for agent work)
DockSight’s Compose stack runs infrastructure only (PostgreSQL + Redis). The frontend, backend, and Go agent stay on your host machine during development.
cp .env.example .env
docker compose up -dThis starts:
- PostgreSQL on
localhost:5432 - Redis on
localhost:6379
Both services join the docksight-network network and use named volumes postgres-data and redis-data.
docker psYou should see docksight-postgres and docksight-redis (healthy).
docker compose downContainers stop; volumes are kept.
docker compose down -vStops containers and deletes postgres-data / redis-data (all local DB/cache data).
npm install
npm run db:generate
npm run dev:server
npm run dev:web# Terminal A — infrastructure
docker compose up -d
# Terminal B — backend
npm run dev:server
# Terminal C — agent
cd agent
go run ./cmd/agent
# Terminal D — web
npm run dev:webExpected:
- Agent connects to
ws://localhost:3000/agents - Agent registers (
agent.register→agent.registered) - Server sends
container.list - Agent replies with
container.listed - Heartbeats continue every 30s
- Dashboard Start/Stop/Restart sends REST → WS command →
container.result
Protocol reference: docs/protocol.md
- Web: http://localhost:5173
- API / Swagger: http://localhost:3000/api/docs
- Agent WS:
ws://localhost:3000/agents
| Command | Description |
|---|---|
npm run dev:web |
Start Vite dashboard |
npm run dev:server |
Start NestJS in watch mode |
npm run build |
Build workspaces |
npm run docker:up / docker:infra |
Start Postgres + Redis |
npm run docker:down |
Stop Compose stack |
npm run db:generate |
Generate Prisma client |
npm run db:migrate |
Run Prisma migrations |
npm run db:studio |
Open Prisma Studio |
Agent (when Go is installed):
cd agent
go run ./cmd/agentdocksight/
├── apps/
│ ├── web/ # React dashboard
│ └── server/ # NestJS backend
├── agent/ # Go agent
├── packages/
│ ├── types/
│ ├── config/
│ └── utils/
├── infrastructure/
│ ├── docker/
│ └── deployment/
├── docs/
│ ├── architecture.md
│ ├── decisions/
│ └── api/
├── docker-compose.yml
├── README.md
├── LICENSE
└── CONTRIBUTING.md
- Authentication and user management
- Local Docker host connection and container inventory
- Live logs and basic metrics
- Environment grouping and notifications
- Multi-host Go agents with secure WebSocket protocol
- Audit trail and team collaboration features
See CONTRIBUTING.md.
MIT — see LICENSE.