Drydock version
1.5.0-rc.29
What happened?
When using automatic updates via dd.action.include (e.g., dockercompose.stacks), the update successfully completes and sends an updated successfully notification. However, a few minutes later, ghost update failed notifications arrive with HTTP 404 (No such container) or HTTP 409 (Conflict).
The containers are updated correctly and running fine, but the notification system spams failures for dead operations.
What did you expect?
If an auto-update succeeds, no secondary "ghost" operations should fail and trigger update-failed notifications.
Steps to reproduce
It looks like a race condition where a container report is enqueued multiple times (e.g. from both handleContainerReport and handleContainerReports, or from subsequent watcher cron passes before the first operation clears the queue).
The first operation succeeds and recreates the container (new ID).
The duplicate operation eventually executes but holds the snapshot with the old Docker ID.
It hits the Docker API (gets 404) or agent API (gets 409), the operation is marked terminal as failed, and Trigger.ts blindly emits the update-failed notification to Telegram/Pushover.
Relevant configuration
Logs
Logs / Symptoms:
[03.06.2026 12:00] New tag found for container n8n
[03.06.2026 12:05] Container prowlarr updated successfully
[03.06.2026 12:06] Container n8n updated successfully
[03.06.2026 12:11] Container n8n update failed: (HTTP code 404) no such container - No such container: 33f037...
(Similarly, on agent-hosted containers, it throws Request failed with status code 409 instead of 404).
Installation method
Docker Compose
Docker version
29.3.0
OS / Architecture
Linux docker 6.11.11-2-pve
Drydock version
1.5.0-rc.29
What happened?
When using automatic updates via dd.action.include (e.g., dockercompose.stacks), the update successfully completes and sends an updated successfully notification. However, a few minutes later, ghost update failed notifications arrive with HTTP 404 (No such container) or HTTP 409 (Conflict).
The containers are updated correctly and running fine, but the notification system spams failures for dead operations.
What did you expect?
If an auto-update succeeds, no secondary "ghost" operations should fail and trigger update-failed notifications.
Steps to reproduce
It looks like a race condition where a container report is enqueued multiple times (e.g. from both handleContainerReport and handleContainerReports, or from subsequent watcher cron passes before the first operation clears the queue).
The first operation succeeds and recreates the container (new ID).
The duplicate operation eventually executes but holds the snapshot with the old Docker ID.
It hits the Docker API (gets 404) or agent API (gets 409), the operation is marked terminal as failed, and Trigger.ts blindly emits the update-failed notification to Telegram/Pushover.
Relevant configuration
Logs
Installation method
Docker Compose
Docker version
29.3.0
OS / Architecture
Linux docker 6.11.11-2-pve