"vscode:/vscode.git/clone" did not exist on "f1f53d0fea684b698aa4dbdae4812a051dc07da0"
Unverified Commit a60d9b89 authored by Daniel Hiltgen's avatar Daniel Hiltgen Committed by GitHub
Browse files

Detect running in a container (#6495)

parent bf612cd6
package server package server
import ( import (
"bufio"
"bytes" "bytes"
"cmp" "cmp"
"context" "context"
...@@ -17,10 +18,12 @@ import ( ...@@ -17,10 +18,12 @@ import (
"net/url" "net/url"
"os" "os"
"path/filepath" "path/filepath"
"regexp"
"runtime" "runtime"
"slices" "slices"
"strconv" "strconv"
"strings" "strings"
"sync"
"github.com/ollama/ollama/api" "github.com/ollama/ollama/api"
"github.com/ollama/ollama/auth" "github.com/ollama/ollama/auth"
...@@ -1087,7 +1090,7 @@ func makeRequest(ctx context.Context, method string, requestURL *url.URL, header ...@@ -1087,7 +1090,7 @@ func makeRequest(ctx context.Context, method string, requestURL *url.URL, header
} }
} }
req.Header.Set("User-Agent", fmt.Sprintf("ollama/%s (%s %s) Go/%s", version.Version, runtime.GOARCH, runtime.GOOS, runtime.Version())) req.Header.Set("User-Agent", fmt.Sprintf("ollama/%s (%s %s) Go/%s%s", version.Version, runtime.GOARCH, runtime.GOOS, runtime.Version(), deployment()))
if s := req.Header.Get("Content-Length"); s != "" { if s := req.Header.Get("Content-Length"); s != "" {
contentLength, err := strconv.ParseInt(s, 10, 64) contentLength, err := strconv.ParseInt(s, 10, 64)
...@@ -1162,3 +1165,22 @@ func verifyBlob(digest string) error { ...@@ -1162,3 +1165,22 @@ func verifyBlob(digest string) error {
return nil return nil
} }
var deployment = sync.OnceValue(func() string {
if runtime.GOOS == "linux" {
file, err := os.Open("/proc/1/cgroup")
if err != nil {
return ""
}
defer file.Close()
anchorPoint := regexp.MustCompile("0::/.*/")
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
if anchorPoint.MatchString(line) {
return " container"
}
}
}
return ""
})
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment