diff --git a/cmd/cli/pkg/standalone/containers.go b/cmd/cli/pkg/standalone/containers.go index 8e6589e38..39460bbe4 100644 --- a/cmd/cli/pkg/standalone/containers.go +++ b/cmd/cli/pkg/standalone/containers.go @@ -230,6 +230,14 @@ func CreateControllerContainer(ctx context.Context, dockerClient *client.Client, if doNotTrack { env = append(env, "DO_NOT_TRACK=1") } + + // Pass proxy environment variables to the container if they are set + proxyEnvVars := []string{"HTTP_PROXY", "HTTPS_PROXY", "NO_PROXY", "http_proxy", "https_proxy", "no_proxy"} + for _, proxyVar := range proxyEnvVars { + if value, ok := os.LookupEnv(proxyVar); ok { + env = append(env, proxyVar+"="+value) + } + } config := &container.Config{ Image: imageName, Env: env, diff --git a/main.go b/main.go index ee0e5b1cd..1c64b8681 100644 --- a/main.go +++ b/main.go @@ -70,12 +70,22 @@ func main() { memEstimator := memory.NewEstimator(sysMemInfo) + // Create a proxy-aware HTTP transport + // Use a safe type assertion with fallback, and explicitly set Proxy to http.ProxyFromEnvironment + var baseTransport *http.Transport + if t, ok := http.DefaultTransport.(*http.Transport); ok { + baseTransport = t.Clone() + } else { + baseTransport = &http.Transport{} + } + baseTransport.Proxy = http.ProxyFromEnvironment + modelManager := models.NewManager( log, models.ClientConfig{ StoreRootPath: modelPath, Logger: log.WithFields(logrus.Fields{"component": "model-manager"}), - Transport: resumable.New(http.DefaultTransport), + Transport: resumable.New(baseTransport), }, nil, memEstimator,