Compose Craft is a modern, open-source tool to help you manage, edit and share docker compose files in an intuitive GUI way.
- Visual Docker Compose Editor: Create and edit docker compose files with an intuitive drag-and-drop interface
- Real-time Diagram Visualization: See your services as interconnected nodes with automatic layout
- One-Click Sharing: Generate public links to share your docker compose diagrams with anyone
- Import/Export: Import existing docker-compose.yml files and export your creations
- GitHub Integration: Connect your GitHub repositories for seamless workflow
- Multi-Service Management: Handle complex multi-service applications with ease
- Environment Variables & Volumes: Visual management of env vars, volumes, networks, and ports
- Responsive Design: Works seamlessly on desktop and mobile devices
Complete documentation is available at https://composecraft.com/docs/
Use the hosted version at composecraft.com - no installation required!
# Clone the repository
git clone https://github.com/composecraft/composecraft.git
cd composecraft/webapp
# Start with Docker Compose
docker compose up -dThe application will be available at http://localhost:3000
# Clone the repository
git clone https://github.com/composecraft/composecraft.git
cd composecraft/webapp
# Install dependencies
pnpm install
# Start development server
pnpm run devCompose Craft is built with modern technologies:
- Frontend: Next.js 15 with React 19
- UI Framework: Radix UI + Tailwind CSS
- Diagram Engine: React Flow with Dagre layout
- State Management: Zustand
- Backend: Next.js API Routes
- Database: MongoDB with Mongoose
- Authentication: JWT with bcrypt
- Code Editor: Monaco Editor (VS Code's editor)
- Styling: Tailwind CSS with custom animations
@xyflow/react: Node-based diagram visualization@composecraft/docker-compose-lib: Core docker compose parsing library@radix-ui/react-*: Accessible UI componentszod: Schema validationreact-hook-form: Form managementposthog-js: Analytics (optional)
Create a .env.local file with the following variables:
# Required
SECRET_KEY=your-super-secret-jwt-key-here
MONGODB_URI=mongodb://localhost:27017/composecraft
URL=http://localhost:3000
# Optional
CORE_ONLY=false # Disable SaaS features for simple self-host
DISABLE_TELEMETRY=false # Disable PostHog analytics
NEXT_PUBLIC_POSTHOG_KEY=your-key # PostHog project key for telemetryFor production deployments, use the provided docker-compose.yml:
services:
compose-craft:
image: composecraft/composecraft:latest
ports:
- "3000:3000"
environment:
- SECRET_KEY=your-secret-key
- MONGODB_URI=mongodb://mongo:27017/composecraft
- URL=https://your-domain.com
depends_on:
- mongo
mongo:
image: mongo:latest
environment:
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=passwordWe welcome contributions! Please see our Contributing Guide for details.
- Fork and clone the repository
- Install dependencies:
pnpm install
- Set up environment variables (see Configuration section)
- Start development server:
pnpm run dev
- Run tests:
pnpm test - Lint code:
pnpm lint
- Create a feature branch from
main - Make your changes
- Ensure tests pass and code is formatted
- Create a pull request with a clear description
webapp/
βββ app/ # Next.js app directory
β βββ dashboard/ # Main application dashboard
β βββ playground/ # Docker compose editor
β βββ api/ # API routes
β βββ components/ # App-specific components
βββ components/ # Shared UI components
β βββ playground/ # Editor-specific components
β βββ display/ # Data display components
β βββ ui/ # Reusable UI components
βββ lib/ # Core libraries and utilities
βββ store/ # Zustand state management
βββ types/ # TypeScript type definitions
βββ assets/ # Static assets and images
If you find a bug, please open an issue with:
- Clear and descriptive title
- Steps to reproduce the issue
- Expected vs actual behavior
- Screenshots if applicable
- Your environment details
We'd love to hear your ideas! Please:
- Check existing issues to avoid duplicates
- Create a new issue with a clear description
- Explain why this feature would be useful
- Include mockups or examples if possible
See our Roadmap for planned features and improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
- React Flow for the excellent diagram library
- Radix UI for accessible components
- Next.js for the fantastic framework
- All our contributors and community members!
- Discord: Join our Discord server
- GitHub Discussions: For questions and community discussions
- Issues: For bug reports and feature requests
For support:
- Check our Documentation
- Search existing Issues
- Join our Discord community
- Open a new GitHub Issue
Made with β€οΈ by the Compose Craft community

