Skip to content

v1.4.0

Choose a tag to compare

@KyanJeuring KyanJeuring released this 01 Feb 08:39
· 82 commits to main since this release

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.yml
  • docker-compose.yaml
  • compose.yml
  • compose.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.