|
@@ -513,23 +513,33 @@ func generateBatch(cmd *cobra.Command, model string) error {
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
-func RunServer(_ *cobra.Command, _ []string) error {
|
|
|
|
- host := os.Getenv("OLLAMA_HOST")
|
|
|
|
- if host == "" {
|
|
|
|
- host = "127.0.0.1"
|
|
|
|
|
|
+func RunServer(cmd *cobra.Command, _ []string) error {
|
|
|
|
+ host, err := cmd.Flags().GetString("host")
|
|
|
|
+ if err != nil {
|
|
|
|
+ return errors.New("host unset")
|
|
|
|
+ }
|
|
|
|
+ if os.Getenv("OLLAMA_HOST") != "" {
|
|
|
|
+ host = os.Getenv("OLLAMA_HOST")
|
|
|
|
+ }
|
|
|
|
+ port, err := cmd.Flags().GetString("port")
|
|
|
|
+ if err != nil {
|
|
|
|
+ return errors.New("port unset")
|
|
}
|
|
}
|
|
|
|
|
|
- port := os.Getenv("OLLAMA_PORT")
|
|
|
|
- if port == "" {
|
|
|
|
- port = "11434"
|
|
|
|
|
|
+ if os.Getenv("OLLAMA_PORT") != "" {
|
|
|
|
+ port = os.Getenv("OLLAMA_PORT")
|
|
}
|
|
}
|
|
|
|
|
|
ln, err := net.Listen("tcp", fmt.Sprintf("%s:%s", host, port))
|
|
ln, err := net.Listen("tcp", fmt.Sprintf("%s:%s", host, port))
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
+ extraOrigins, err := cmd.Flags().GetStringSlice("allowed-origins")
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
|
|
- return server.Serve(ln)
|
|
|
|
|
|
+ return server.Serve(ln, extraOrigins)
|
|
}
|
|
}
|
|
|
|
|
|
func startMacApp(client *api.Client) error {
|
|
func startMacApp(client *api.Client) error {
|
|
@@ -621,6 +631,10 @@ func NewCLI() *cobra.Command {
|
|
RunE: RunServer,
|
|
RunE: RunServer,
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ serveCmd.Flags().String("port", "11434", "Port to listen on, may also use OLLAMA_PORT environment variable")
|
|
|
|
+ serveCmd.Flags().String("host", "127.0.0.1", "Host listen address, may also use OLLAMA_HOST environment variable")
|
|
|
|
+ serveCmd.Flags().StringSlice("allowed-origins", []string{}, "Additional allowed CORS origins (outside of localhost), specify as comma-separated list")
|
|
|
|
+
|
|
pullCmd := &cobra.Command{
|
|
pullCmd := &cobra.Command{
|
|
Use: "pull MODEL",
|
|
Use: "pull MODEL",
|
|
Short: "Pull a model from a registry",
|
|
Short: "Pull a model from a registry",
|