Compose Manager provides full support for Docker Compose profiles, allowing you to selectively start services based on your needs.
Profiles let you define groups of services in your compose.yaml that can be started together. Services without a profile are always started, while profiled services only start when their profile is explicitly activated.
services:
# Always starts (no profile)
webapp:
image: nginx:latest
ports:
- "80:80"
# Only starts with 'debug' profile
debugger:
image: busybox
profiles:
- debug
command: sleep infinity
# Only starts with 'monitoring' profile
prometheus:
image: prom/prometheus
profiles:
- monitoring
ports:
- "9090:9090"
grafana:
image: grafana/grafana
profiles:
- monitoring
ports:
- "3000:3000"When you save a compose file, Compose Manager automatically detects all defined profiles and stores them. These are displayed in the stack settings panel under "Available profiles".
When you click Compose Up, Compose Down, or Update Stack on a stack that has profiles defined, a profile selector dialog appears allowing you to:
- All Services (Default) - Start all services including those with profiles
- Select a specific profile to activate only services assigned to that profile
Configure default profiles in the stack editor's Settings tab:
- Click the stack icon to open the context menu
- Select Edit Stack
- Go to the Settings tab
- In the "Default Profile(s)" field, enter one or more profile names (comma-separated)
Example: production,monitoring will activate both the production and monitoring profiles.
Default profiles are used for:
- Autostart - When the array starts, only services matching the default profiles will start
- Start All Stacks - Multi-stack operations use each stack's configured default profiles
- Stop All Stacks - Multi-stack stop operations respect default profiles
Profiles are stored in the stack's configuration directory:
profiles- JSON array of available profiles (auto-detected from compose file)default_profile- Comma-separated list of default profiles for autostart/multi-stack operations
- No profile = always starts: Services without a
profileskey start regardless of which profiles are activated - Multiple profiles: A service can belong to multiple profiles; it starts if any of its profiles are activated
- Comma-separated: Specify multiple default profiles separated by commas (e.g.,
dev,debug) - Empty = all: Leave the default profile empty to start all services (equivalent to
--profile "*"behavior)