1
0
mirror of https://github.com/amir20/dozzle.git synced 2025-12-21 13:23:07 +01:00

fix: fixes broken nil pointer. fixes #3626 (#3627)

This commit is contained in:
Amir Raminfar
2025-02-13 13:31:25 -08:00
committed by GitHub
parent ddff9e96a2
commit 6e3c811974
2 changed files with 5 additions and 6 deletions

View File

@@ -11,7 +11,7 @@ import (
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
) )
func CreateMultiHostService(embeddedCerts embed.FS, args Args) (container.Client, *docker_support.MultiHostService) { func CreateMultiHostService(embeddedCerts embed.FS, args Args) *docker_support.MultiHostService {
var clients []container_support.ClientService var clients []container_support.ClientService
if len(args.RemoteHost) > 0 { if len(args.RemoteHost) > 0 {
log.Info().Msg(`Consider using Dozzle's remote agent to manage remote hosts. See https://dozzle.dev/guide/agent for more information`) log.Info().Msg(`Consider using Dozzle's remote agent to manage remote hosts. See https://dozzle.dev/guide/agent for more information`)
@@ -48,6 +48,7 @@ func CreateMultiHostService(embeddedCerts embed.FS, args Args) (container.Client
log.Debug().Msg("Adding local Docker Engine") log.Debug().Msg("Adding local Docker Engine")
clients = append(clients, docker_support.NewDockerClientService(localClient, args.Filter)) clients = append(clients, docker_support.NewDockerClientService(localClient, args.Filter))
} }
go StartEvent(args, "server", localClient, "")
} }
certs, err := ReadCertificates(embeddedCerts) certs, err := ReadCertificates(embeddedCerts)
@@ -56,5 +57,5 @@ func CreateMultiHostService(embeddedCerts embed.FS, args Args) (container.Client
} }
clientManager := docker_support.NewRetriableClientManager(args.RemoteAgent, args.Timeout, certs, clients...) clientManager := docker_support.NewRetriableClientManager(args.RemoteAgent, args.Timeout, certs, clients...)
return localClient, docker_support.NewMultiHostService(clientManager, args.Timeout) return docker_support.NewMultiHostService(clientManager, args.Timeout)
} }

View File

@@ -16,7 +16,6 @@ import (
"github.com/amir20/dozzle/internal/agent" "github.com/amir20/dozzle/internal/agent"
"github.com/amir20/dozzle/internal/auth" "github.com/amir20/dozzle/internal/auth"
"github.com/amir20/dozzle/internal/container"
"github.com/amir20/dozzle/internal/docker" "github.com/amir20/dozzle/internal/docker"
"github.com/amir20/dozzle/internal/healthcheck" "github.com/amir20/dozzle/internal/healthcheck"
"github.com/amir20/dozzle/internal/k8s" "github.com/amir20/dozzle/internal/k8s"
@@ -167,14 +166,13 @@ func main() {
var hostService web.HostService var hostService web.HostService
if args.Mode == "server" { if args.Mode == "server" {
var localClient container.Client
localClient, multiHostService := cli.CreateMultiHostService(certs, args) multiHostService := cli.CreateMultiHostService(certs, args)
if multiHostService.TotalClients() == 0 { if multiHostService.TotalClients() == 0 {
log.Fatal().Msg("Could not connect to any Docker Engine") log.Fatal().Msg("Could not connect to any Docker Engine")
} else { } else {
log.Info().Int("clients", multiHostService.TotalClients()).Msg("Connected to Docker") log.Info().Int("clients", multiHostService.TotalClients()).Msg("Connected to Docker")
} }
go cli.StartEvent(args, "server", localClient, "")
hostService = multiHostService hostService = multiHostService
} else if args.Mode == "swarm" { } else if args.Mode == "swarm" {
localClient, err := docker.NewLocalClient("") localClient, err := docker.NewLocalClient("")