Files
home/Projects/kompose/docs/content/1.index.md
2025-10-09 16:18:19 +02:00

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