You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
15
15
-**Compose label-driven docker-compose trigger configuration** — Added support for container labels to create and scope compose triggers from discovered containers, including `dd.compose.file` / `wud.compose.file` and compose trigger options (`backup`, `prune`, `dryrun`, `auto`, `threshold`).
16
16
-**Compose-file digest update support** — Docker-compose trigger now supports digest-pinned image references in compose files (`image@sha256:...` and `image:tag@sha256:...`) so digest-based services can be updated without dropping pinning.
17
17
18
+
-**Compose-native auto-compose discovery** — Added `dd.compose.native` / `wud.compose.native` container labels to enable deriving compose file paths from native Compose labels (`com.docker.compose.project.config_files` + `com.docker.compose.project.working_dir`) when `dd.compose.file` is not set. This requires the resolved compose path to exist inside the drydock container (same path context used by `docker compose`).
19
+
-**Watcher-wide compose-native default** — Added `DD_WATCHER_DOCKER_{name}_COMPOSENATIVE=true` to enable compose-native path discovery for all containers watched by a Docker watcher, with per-container `dd.compose.native` still taking precedence.
20
+
18
21
### Fixed
19
22
20
23
-**TrueForge registry default behavior** — Fixed TrueForge registry integration so it works out of the box with default configuration.
- `dd.compose.file`/ `wud.compose.file` causes drydock to create (or reuse) a scoped `dockercompose` trigger for that container.
410
411
- That generated compose trigger is set with `requireinclude=true` and auto-appended to the container include list, so it only runs for explicitly associated containers.
412
+
- `dd.compose.native`/ `wud.compose.native` enables deriving compose file paths from native Compose labels (`com.docker.compose.project.config_files` and `com.docker.compose.project.working_dir`).
413
+
- Compose-native/automatic detection requires the resolved compose file path to be valid inside the drydock container (same path that `docker compose` uses); if Compose was run from a host-only path, bind-mount that path into drydock at the same location or set `dd.compose.file` explicitly.
414
+
- `DD_WATCHER_DOCKER_xxx_COMPOSENATIVE=true`enables compose-native lookup by default for all containers in that watcher (container label can still override).
411
415
- If `dd.compose.auto` is omitted, normal trigger default applies (`auto=true`).
412
416
417
+
Troubleshooting path mismatch:
418
+
419
+
- Symptom: compose-native is enabled, but DryDock cannot resolve/update the compose file.
420
+
- Cause: the path from Compose labels exists on the host, but not inside the DryDock container at the same absolute path.
421
+
- Fix: bind-mount the host compose project path into DryDock using the same container path, or set `dd.compose.file` per container.
422
+
423
+
Example (host path and container path are identical):
424
+
425
+
```yaml
426
+
services:
427
+
drydock:
428
+
image: codeswhat/drydock:latest
429
+
volumes:
430
+
- /var/run/docker.sock:/var/run/docker.sock
431
+
- /opt/stacks:/opt/stacks
432
+
```
433
+
434
+
If your stack was started from `/opt/stacks/myapp/docker-compose.yml`, DryDock must also see that file at `/opt/stacks/myapp/docker-compose.yml`.
435
+
413
436
`dd.*`labels take precedence when both `dd.*` and `wud.*` are present.
0 commit comments