diff --git a/backend/http/router.go b/backend/http/router.go index 2004507e..363a59d7 100644 --- a/backend/http/router.go +++ b/backend/http/router.go @@ -6,6 +6,7 @@ import ( "embed" "fmt" "io/fs" + "net" "net/http" "os" "text/template" @@ -179,6 +180,14 @@ func StartHttp(ctx context.Context, Service ImgService, storage *storage.Storage if err := srv.Serve(listener); err != nil && err != http.ErrServerClosed { logger.Fatal(fmt.Sprintf("Server error: %v", err)) } + } else if config.Server.Socket != "" { + listener, err := net.Listen("unix", config.Server.Socket) + if err != nil { + logger.Fatal(fmt.Sprintf("Could not start UNIX server: %v", err)) + } + if err := srv.Serve(listener); err != nil && err != http.ErrServerClosed { + logger.Fatal(fmt.Sprintf("Server error: %v", err)) + } } else { // Set HTTP scheme and the default port for HTTP scheme = "http"