Draw your topology on a canvas, then export deterministic docker-compose.yml you can run anywhere. Import existing Compose to visualize and fix conflicts. Self-hosted, beautiful, and fast.
- Creation paths: Wizard, Blank Canvas, or Start with YAML
- Dual‑mode Canvas ↔ YAML editor (upcoming) — follows the deterministic exporter
- Personal Library (planned prototype; future SQLite‑backed migration)
![]() ![]()
|
|
Homelabs grow messy: scattered docker-compose.yml files, port collisions, no single source of truth. Dockitect bridges design ↔ code:
Designer‑first, not a deployment tool. Dockitect does not talk to the Docker socket. Export YAML and deploy with your preferred tools.
- Visual canvas for hosts, networks, and services (React Flow)
- Import Compose → see your lab as a graph
- Export deterministic YAML (clean diffs, perfect for Git)
- Catch conflicts before
docker compose up -d - Appliance templates (Jellyfin, Uptime Kuma, Immich, etc.)
- ✅ Import Docker Compose files - Upload and visualize your existing compose files
- ✅ Visual Canvas - Interactive node-based visualization with React Flow
- ✅ Network Topology - See connections between services and networks with styled edges
- ✅ Interactive Nodes - Click nodes to view full service/network details
- ✅ Details Panel - Comprehensive view of environment variables, volumes, ports, and networks
- ✅ Canvas Controls - Fit view, export as PNG, auto-layout functionality
- ✅ Dark Mode - Full dark mode support with theme toggle
- ✅ Accessibility - WCAG 2.2 AA compliant with keyboard navigation
- Repository setup with CI/CD pipeline
- Next.js monorepo structure
- TypeScript strict mode + ESLint + Prettier
- React Flow canvas with Zustand state management
- Blueprint v0 schema with Zod validation (34 tests)
- Compose v2.x parser → Blueprint (23 tests, 6 fixtures)
- Canvas editor with Host / Network / Service nodes
- File upload UI for Compose import (4 E2E tests)
- Export Blueprint → stable docker-compose.yml
- Port/volume/name conflict detection
- 5+ appliance templates (drag-and-drop)
- SQLite persistence for blueprints
- Light/dark theme
See roadmap.md for full plan.
git clone https://github.com/av1155/Dockitect.git
cd Dockitect
pnpm install
pnpm devVisit http://localhost:3000
docker run -d -p 3000:3000 \
-v $(pwd)/dockitect-data:/data \
ghcr.io/av1155/dockitect:latestapps/web/ # Next.js app (UI, API)
packages/
schema/ # Blueprint Zod schema
importer/ # Compose → Blueprint parser
exporter/ # Blueprint → Compose generator
templates/appliances/ # Pre-built service templates
docs/ # Documentation
product/ # Roadmap, MVP spec, checklist
tech/ # Architecture, ADRs
how-to/ # User guides
Frontend:
- Next.js 15 (App Router)
- React Flow (Canvas)
- Zustand (State management)
- Tailwind CSS + shadcn/ui
Backend:
Tooling:
- Turbo (Monorepo build system)
- Vitest (Unit tests)
- Playwright (E2E tests)
- GitHub Actions (CI/CD)
We welcome contributions! Please read CONTRIBUTING.md for:
- Development setup
- Code style guide
- Testing requirements
- Pull request process
MIT License — use freely, commercially or personally.
Current phase: Now entering P2 – MVP Exporter (Blueprint → Compose v2.x) 🚧 (P1 complete). Next: P2a (Designer entry points & Library foundations) → P3a (Dual‑mode Canvas ↔ YAML editor). See roadmap for sequencing.
Completed:
- ✅ P0: Repository & Project Setup
- ✅ P1.1: Blueprint v0 Schema (34 tests)
- ✅ P1.2: Compose v2.x Parser (23 tests, 18 fixtures)
- ✅ P1.3: File Upload UI Component (WCAG 2.2 AA compliant)
- ✅ P1.4: Canvas Rendering with Dark Mode (11 E2E tests)
Next up:
- P2: MVP Exporter (Blueprint → Compose v2.x)
- P3: Conflict Detection & Validation
See docs/product/roadmap.md for details and timeline.
- Documentation: /docs
- Discussions: GitHub Discussions
- Bug Reports: Issue Tracker
- Security: See SECURITY.md
Built with ❤️ for the selfhosted community



