87 lines
4.2 KiB
Markdown
Executable File
87 lines
4.2 KiB
Markdown
Executable File
---
|
|
title: Introduction to Kompose
|
|
description: Learn about Kompose, your Docker Compose Symphony Conductor for managing multiple stacks with style and grace.
|
|
---
|
|
|
|
**Kompose** is a powerful Bash orchestration tool for managing multiple Docker Compose stacks with style and grace. Think of it as a conductor for your Docker symphony - each stack plays its part, and Kompose makes sure they're all in harmony.
|
|
|
|
**Kompose** is a powerful Bash orchestration tool for managing multiple Docker Compose stacks with style and grace. Think of it as a conductor for your Docker symphony - each stack plays its part, and Kompose makes sure they're all in harmony.
|
|
|
|
### Why Kompose?
|
|
|
|
:icon{name="lucide:target"} **One Command to Rule Them All** - Manage dozens of stacks with a single command
|
|
:icon{name="lucide:refresh-cw"} **Database Wizardry** - Export, import, and clean up PostgreSQL databases like a boss
|
|
:icon{name="lucide:tent"} **Hook System** - Extend functionality with custom pre/post operation hooks
|
|
:icon{name="lucide:globe"} **Network Maestro** - Smart network management with CLI overrides
|
|
:icon{name="lucide:lock-keyhole"} **Environment Juggler** - Override any environment variable on the fly
|
|
:icon{name="lucide:palette"} **Beautiful Output** - Color-coded logs and status indicators
|
|
:icon{name="lucide:flask-conical"} **Dry-Run Mode** - Test changes before applying them
|
|
|
|
### :icon{name="lucide:music"} Stack Management
|
|
- **Pattern-based selection**: Target stacks with globs, comma-separated lists, or wildcards
|
|
- **Bulk operations**: Execute commands across multiple stacks simultaneously
|
|
- **Status monitoring**: Visual feedback with color-coded success/failure indicators
|
|
- **Smart filtering**: Include/exclude stacks with flexible pattern matching
|
|
|
|
### :icon{name="lucide:hard-drive"} Database Operations
|
|
- **Automated backups**: Export PostgreSQL databases with timestamped dumps
|
|
- **Smart imports**: Auto-detect latest dumps or specify exact files
|
|
- **Drop & recreate**: Safe database import with connection termination
|
|
- **Cleanup utilities**: Keep only the latest dumps, remove old backups
|
|
- **Hook integration**: Custom pre/post operations for each database action
|
|
|
|
### :icon{name="lucide:git-branch"} Extensibility
|
|
- **Custom hooks**: Define `pre_db_export`, `post_db_export`, `pre_db_import`, `post_db_import`
|
|
- **Stack-specific logic**: Each stack can have unique operational requirements
|
|
- **Environment access**: Hooks inherit all environment variables
|
|
- **Dry-run aware**: Test hook execution without side effects
|
|
|
|
### :icon{name="lucide:globe"} Network Management
|
|
- **Unified network**: All stacks communicate on a single Docker network
|
|
- **CLI overrides**: Change network on-the-fly without editing configs
|
|
- **Traefik integration**: Seamless reverse proxy setup with proper network awareness
|
|
- **Multi-network support**: Special stacks can have additional internal networks
|
|
|
|
### :icon{name="lucide:wrench"} Environment Control
|
|
- **Global overrides**: Set environment variables via CLI flags
|
|
- **Layered configs**: Root `.env` + stack `.env` + CLI overrides
|
|
- **Precedence rules**: CLI > Stack > Root configuration hierarchy
|
|
- **Real-time changes**: No need to edit files for temporary overrides
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Start all stacks
|
|
./kompose.sh "*" up -d
|
|
|
|
# View logs from specific stacks
|
|
./kompose.sh "blog,news" logs -f
|
|
|
|
# Export all databases
|
|
./kompose.sh "*" db:export
|
|
|
|
# Override network for staging
|
|
./kompose.sh --network staging "*" up -d
|
|
```
|
|
|
|
## Documentation Sections
|
|
|
|
### Getting Started
|
|
- [Installation Guide](/installation) - Set up Kompose on your system
|
|
- [Quick Start](/guide/quick-start) - Get up and running in minutes
|
|
|
|
### User Guide
|
|
- [Stack Management](/guide/stack-management) - Managing multiple stacks
|
|
- [Database Operations](/guide/database) - Backup and restore databases
|
|
- [Hooks System](/guide/hooks) - Extend with custom hooks
|
|
- [Configuration](/guide/configuration) - Configure Kompose and stacks
|
|
- [Network Architecture](/guide/network) - Understanding networking
|
|
- [Troubleshooting](/guide/troubleshooting) - Common issues and solutions
|
|
|
|
### Stack Reference
|
|
- [All Stacks](/stacks) - Detailed documentation for each stack
|
|
|
|
### Reference
|
|
- [CLI Reference](/reference/cli) - Complete command reference
|
|
- [Environment Variables](/reference/environment) - All configuration options
|