Compose Craft is a modern, open-source tool to help you manage, edit and share docker compose files in an intuitive GUI way.
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 -d
The 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 dev
Compose Craft is built with modern technologies:
@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 telemetry
For 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=password
We welcome contributions! Please see our Contributing Guide for details.
pnpm install
pnpm run dev
pnpm test
pnpm lint
mainwebapp/
βββ 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:
We'd love to hear your ideas! Please:
See our Roadmap for planned features and improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
For support:
Made with β€οΈ by the Compose Craft community
189 followers Β· starred Jan 2025
13 followers Β· starred Jan 2025
296 followers Β· starred Oct 2025
177 followers Β· starred Jan 2025
Compose Craft is a modern, open-source tool to help you manage, edit and share docker compose files in an intuitive GUI way.
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 -d
The 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 dev
Compose Craft is built with modern technologies:
@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 telemetry
For 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=password
We welcome contributions! Please see our Contributing Guide for details.
pnpm install
pnpm run dev
pnpm test
pnpm lint
mainwebapp/
βββ 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:
We'd love to hear your ideas! Please:
See our Roadmap for planned features and improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
For support:
Made with β€οΈ by the Compose Craft community
189 followers Β· starred Jan 2025
13 followers Β· starred Jan 2025
296 followers Β· starred Oct 2025
177 followers Β· starred Jan 2025