Skip to content

zbrave/vcompose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

155 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VCompose

Visual Docker Compose Builder — Build docker-compose.yml files with drag-and-drop. No signup, no backend, runs entirely in your browser.

Try it now at vcompose.cc

VCompose Screenshot


Features

  • Drag & drop services — Add nginx, postgres, redis, node or custom services to a visual canvas
  • Connect to define dependencies — Draw edges between services to auto-generate depends_on
  • Real-time YAML — See your docker-compose.yml update live as you build
  • Auto network config — Services are automatically added to shared networks when connected
  • YAML import — Paste existing compose files to visualize and edit them
  • Copy & download — One-click copy to clipboard or download as .yml
  • Undo / Redo — Full undo/redo support with keyboard shortcuts (Ctrl+Z / Ctrl+Y)
  • Persistent — Your work is saved in localStorage automatically
  • AI generation — Describe your setup in natural language and let AI generate the compose file (supports OpenAI, Anthropic, Gemini, GLM)
  • IDE integration — Use as an MCP server with Claude, Cursor, or any MCP-compatible AI tool
  • Smart recommendations — Get companion service suggestions (e.g., pgadmin for postgres) with one-click add

Quick Start

Use online

Visit vcompose.cc — no installation needed.

Run locally

git clone https://github.com/zbrave/vcompose.git
cd vcompose
npm install
npm run dev

Open http://localhost:5173.

Tech Stack

Layer Choice
Framework React 18 + TypeScript (strict)
Bundler Vite
Canvas React Flow v11+
State Zustand
Styling Tailwind CSS
YAML yaml npm package
AI Vercel AI SDK
Testing Vitest + Playwright

How It Works

  1. Drag a service preset from the sidebar onto the canvas
  2. Configure the service — image, ports, volumes, environment variables, healthcheck
  3. Connect services by drawing edges to define depends_on relationships
  4. Copy the generated YAML from the output panel

Self-Hosting

docker build -t vcompose .
docker run -p 80:80 vcompose

Or use the pre-built image with any container platform (Coolify, Railway, etc).

Contributing

Contributions are welcome! Please open an issue first to discuss what you'd like to change.

npm run test      # Unit tests (Vitest)
npm run test:e2e  # E2E tests (Playwright)
npm run lint      # ESLint
npm run format    # Prettier

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors