From b9cc5c1fdc5032218bf40b602af1aa394b02c67e Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Thu, 30 Oct 2025 15:45:01 +0000 Subject: [PATCH] fix(port-forward): clear port file instead of removing it - Prevent port forwarding loop crash when trying to delete a directly bind mounted file - See https://github.com/qdm12/gluetun/issues/2942#issuecomment-3468510402 --- internal/portforward/service/stop.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/internal/portforward/service/stop.go b/internal/portforward/service/stop.go index 208951c3..04eda5f8 100644 --- a/internal/portforward/service/stop.go +++ b/internal/portforward/service/stop.go @@ -3,7 +3,6 @@ package service import ( "context" "fmt" - "os" "time" ) @@ -61,10 +60,10 @@ func (s *Service) cleanup() (err error) { s.ports = nil filepath := s.settings.Filepath - s.logger.Info("removing port file " + filepath) - err = os.Remove(filepath) + s.logger.Info("clearing port file " + filepath) + err = s.writePortForwardedFile(nil) if err != nil { - return fmt.Errorf("removing port file: %w", err) + return fmt.Errorf("clearing port file: %w", err) } return nil