v1.4.0
What's Changed
- Added support for multiple standard Docker Compose filenames
- Introduced a centralized Compose file resolution mechanism
- Applied consistent Compose detection across all stack operations
- Added advanced configuration for Compose file selection
Details
Expanded Docker Compose file support
DStack now recognizes all standard Docker Compose filenames:
docker-compose.ymldocker-compose.yamlcompose.ymlcompose.yaml
This support is applied consistently across stack discovery, stack registration, and command execution.
When multiple supported files are present in a directory, DStack selects the first matching file in a fixed, deterministic order.
Centralized Compose file resolution
This release introduces an internal helper responsible for resolving the Compose file used for a stack.
All commands now rely on this shared resolver, which:
- Eliminates hard-coded filename assumptions
- Ensures consistent behavior across commands
- Improves maintainability and future extensibility
Advanced: Custom Compose filenames
Advanced users can override the default Compose filename detection by setting the DSTACK_COMPOSE_FILES environment variable.
export DSTACK_COMPOSE_FILES="compose.yml docker-compose.yml"When set, only the specified filenames are considered during stack resolution.
Why this matters
- Improves compatibility with modern Docker Compose conventions
- Removes inconsistencies between discovery, registration, and execution
- Keeps behavior predictable and explicit
- Enables advanced customization without complicating defaults
Important
Existing setups using docker-compose.yml continue to work unchanged.