8000 GitHub - biyanisuraj/harbor: Containerized LLM toolkit.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

biyanisuraj/harbor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Harbor project logo

Containerized LLM toolkit. Run LLM backends, APIs, frontends, and additional services via a concise CLI.

Quickstart

Requirements

git clone https://github.com/av/harbor.git && cd harbor

# [Optional] make Harbor CLI available globally
# Creates a symlink in User's local bin directory
./harbor.sh ln

# Start default services
# Initial download of the docker images might take a while
# If you have container toolkit installed, GPU will
# be automatically used for supported services.
harbor up

# [Optional] open Webui in the browser
harbor open

Note

First open will require you to create a local admin account. Harbor keeps auth requirement by default because it also supports exposing your local stack to the internet.

Blitz Tour

Diagram outlining Harbor's service structure

# Run Harbor with additional services
# Running SearXNG automatically enables Web RAG in Open WebUI
harbor up searxng

# Run additional/alternative LLM Inference backends
# Open Webui is automatically connected to them.
harbor up llamacpp tgi lmdeploy litellm mistralrs vllm

# Run different Frontends
harbor up librechat bionicgpt hollama

# Use custom models for supported backends
harbor llamacpp model https://huggingface.co/user/repo/model.gguf
# Where possible, cache is shared between the services
harbor tgi model google/gemma-2-2b-it
harbor vllm model google/gemma-2-2b-it

# Convenience tools for docker setup
harbor logs llamacpp
harbor exec llamacpp ./scripts/llama-bench --help

# Access service CLIs without installing them
harbor hf scan-cache
harbor ollama list

# Open services from the CLI
harbor open webui
harbor open llamacpp

# Config management
harbor config list
harbor config set webui.host.port 8080

# Eject from Harbor into a standalone Docker Compose setup
# Will export related services and variables into a standalone file.
harbor eject searxng llamacpp > docker-compose.harbor.yml

Documentation

  • Harbor CLI Reference
    Read more about Harbor CLI commands and options.
  • Harbor Services
    Read about supported services and the ways to configure them.
  • Harbor Compose Setup
    Read about the way Harbor uses Docker Compose to manage services.
  • Compatibility
    Known compatibility issues between the services and models as well as possible workarounds.

Why?

  • Convenience factor
  • Workflow/setup centralisation

If you're comfortable with Docker and Linux administration - you likely don't need Harbor per se to manage your local LLM environment. However, you're also likely to eventually arrive to a similar solution.

Harbor is not designed as a deployment solution, but rather as a helper for the local LLM development environment. It's a good starting point for experimenting with LLMs and related services.

You can later eject from Harbor and use the services in your own setup, or continue using Harbor as a base for your own configuration.

Overview and Features

graph TD
    H((Harbor CLI))

    Webui(Open WebUI)
    Ollama(Ollama)
    LlamaCPP(llama.cpp)
    SearXNG(SearXNG)
    LiteLLM(LiteLLM)
    LMDeploy(LMDeploy)
    TGI(text-generation-inference)
    TTS(openedai-speech)

    ConfMan("
<b>Configuration Management</b>
- <kbd>.env</kbd> File
- <kbd>harbor config</kbd> tool
- configuration files
")

    Services("
<b>Services</b>
- LLM Backends, frontends and related tools
- Pre-configured to work together
- Shared cache
- Co-located configs
    ")

    subgraph "Docker"
      Webui
      Ollama
      LlamaCPP
      SearXNG
      LiteLLM
      LMDeploy
      TGI
      TTS
    end

    H --> ConfMan
    H --Manage via Docker--> Services
    Services --> Docker

    classDef optional fill: #f0f0f022, stroke-dasharray: 5, 5;

    class LlamaCPP optional
    class SearXNG optional
    class LiteLLM optional
    class LMDeploy optional
    class TGI optional
    class TTS optional
Loading

This project is a CLI and a pre-configured Docker Compose setup that connects various LLM-related projects together. It simplifies the initial configuration and can serve as a base for your own customized setup later.

  • Manage local LLM stack with a concise CLI
  • Convenience utilities for common tasks (model management, configuration, service debug)
  • Access service CLIs (hf, ollama, etc.) via Docker without install
  • Services are pre-configured to work together
  • Host cache is shared and reused - huggingface, ollama, etc.
  • Co-located service configs
  • Eject to run without harbor with harbor eject

About

Containerized LLM toolkit.

Resources

4D52

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 80.3%
  • Python 19.7%
0