Replies: 5 comments 2 replies
-
|
Great idea — this is something we've been thinking about too. We have Container Dependency Ordering planned for v1.7 (Phase 6.1 on the roadmap). The plan includes:
Your Tdarr use case is a perfect example of why this matters — parent + nodes need to stay in sync, and updating them out of order (or missing the nodes entirely) can break things. The restart-only option for dependents ("parent updated → restart nodes without pulling a new image") is a nice addition we hadn't explicitly called out — I'll make sure that's captured in the spec. Sometimes you just need the dependent containers bounced, not necessarily updated to a new image. Thanks for the detailed example — it helps validate the design. If you have other dependency patterns you run into beyond Tdarr, feel free to share them here. |
Beta Was this translation helpful? Give feedback.
-
|
In addition to adding dependency linking via labels I would also recommend showing those dependencies in the container list. So containers that are dependencies on other dependencies are shown in a hirearchy so the relationship is visualized. Also, if the parent has an update the dependencies should probably always show up below it even if they don't have an update so the user knows that those containers will be impacted by the update (action taken on them). |
Beta Was this translation helpful? Give feedback.
-
|
Works for me. My only recommendation is that the dependency view has the ability to take action on the containers like the stack view. |
Beta Was this translation helpful? Give feedback.
-
|
Thinking a little further through this. Another scenario: What if a user updates a container on the updates available page or stack page but it has dependencies (using tdarr as an example). Unless the user triggers the update from the dependency page, it will not be clear to them that other containers will be affected (e.g., restarted or updated). What if the container has a dependency, then maybe the dependency chain should be displayed in the update confirmation dialog so the users knows what other containers will be affected by selecting update. Another scenario: What if the user tries to update a dependent container (ex tdarr_node) instead of the parent? How do you plan on handling that? Require the rest of the dependency chain to update or at least notify the user that the user should update the parent container noting that updating the child may have negative impact or something like that? |
Beta Was this translation helpful? Give feedback.
-
|
Really appreciate the continued thinking here — the follow-up comments shaped the spec significantly. Here's where we landed on each point: Dependency hierarchy view — Agreed. Containers with Confirmation dialog showing dependency chain — Agreed, and this is critical UX. When you click Update on a container that has dependents, the confirmation dialog will list every container that will be affected (updated or restarted) so there are no surprises. Something like:
Child-before-parent guard — Agreed. If you try to update a dependent (e.g. Dependency group actions — Agreed. The dependency view will support the same action bar as stack view (Update All, etc.), operating on the full dependency chain. All of this is captured in the Phase 6.1 spec for v1.7. For now, if you need to chain actions today, you can use post-hooks as a workaround: labels:
dd.hook.post: docker restart tdarr_node_1 tdarr_node_2This runs after the parent updates successfully and will bounce the nodes. Not as clean as the native dependency system, but it works for the Tdarr use case today. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Since drydock is the orchestrator for container updates it should know when a container has a dependency on another container and will get updated or restarted when the parent is updated.
For example I have tdarr which has node containers on remote hosts. The tdarr parent and nodes must always be updated together. Having a label designating the nodes as dependencies should trigger updates for the nodes if the parent updates or have the option to just trigger a restart.
Beta Was this translation helpful? Give feedback.
All reactions