diff --git a/.github/ISSUE_TEMPLATE/0_bug_report.yml b/.github/ISSUE_TEMPLATE/0_bug_report.yml index 38b94364..d8d927c2 100644 --- a/.github/ISSUE_TEMPLATE/0_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/0_bug_report.yml @@ -48,17 +48,18 @@ body: id: environment attributes: label: 💻 Environment - description: Run `docker system info` and paste the output in the field below.. + description: Run `docker system info` and paste the output in the field below. + validations: + required: true + - type: textarea + attributes: + label: 📜 Dozzle logs are required for debugging purposes. You may need to enable debug mode. See https://dozzle.dev/guide/debugging. + description: Drag log files or paste the logs into the text input below validations: required: true - type: textarea attributes: label: 📸 If applicable, add screenshots to help explain your bug - description: Drag issues into the text input below - validations: - required: false - - type: textarea - attributes: - label: 📜 If applicable, attach your Dozzle logs. You many need to enable debug mode. See https://dozzle.dev/guide/debugging. + description: Drag screenshots into the text input below validations: required: false diff --git a/docs/guide/agent.md b/docs/guide/agent.md index c63b788a..4ba883f0 100644 --- a/docs/guide/agent.md +++ b/docs/guide/agent.md @@ -64,8 +64,15 @@ Note that when connecting remotely, you don't need to mount local Docker socket. > [!TIP] > You can connect to multiple agents by providing multiple `DOZZLE_REMOTE_AGENT` environment variables. For example, `DOZZLE_REMOTE_AGENT=agent1:7007,agent2:7007`. -> [!WARNING] -> Dozzle uses the Docker API to gather information about hosts. Each agent needs a unique host ID. They use Docker's system ID or node ID to identify the host. If you are using swarm, then the node ID is used. If you don't see all hosts, then you may have duplicate hosts configured that have the same host ID. To fix this, remove `/var/lib/docker/engine-id` file. See [FAQ](/guide/faq#i-am-seeing-duplicate-hosts-error-in-the-logs-how-do-i-fix-it) for more information. +## Common Issues + +### Agent Not Showing Up + +Dozzle utilizes the Docker API to collect information about hosts. Each agent requires a unique host ID that remains consistent across restarts to ensure proper identification. Currently, agents identify the host using either Docker's system ID or node ID. + +If you are operating in a Swarm environment, the node ID will be employed for this purpose. However, if you notice that not all hosts are visible, it may be due to the presence of duplicate hosts configured with the same host ID. + +To resolve this issue, you should remove the `/var/lib/docker/engine-id` file from your system. This action will help eliminate any conflicts caused by duplicate host IDs. For additional information and troubleshooting tips, please refer to the [FAQ](/guide/faq#i-am-seeing-duplicate-hosts-error-in-the-logs-how-do-i-fix-it). ## Setting Up Healthcheck diff --git a/internal/support/docker/retriable_client_manager.go b/internal/support/docker/retriable_client_manager.go index d40a2e20..69c99b92 100644 --- a/internal/support/docker/retriable_client_manager.go +++ b/internal/support/docker/retriable_client_manager.go @@ -39,7 +39,7 @@ func NewRetriableClientManager(agents []string, timeout time.Duration, certs tls } if _, ok := clientMap[host.ID]; ok { - log.Warn().Str("host", host.Name).Msg("duplicate client found") + log.Warn().Str("name", host.Name).Str("id", host.ID).Msg("An agent with an existing ID was found. Removing the duplicate host. For more details, see http://localhost:5173/guide/agent#agent-not-showing-up.") } else { clientMap[host.ID] = client }