-
-
Notifications
You must be signed in to change notification settings - Fork 192
1.0. Installing Harbor
Harbor lets you run local LLMs and 50+ AI services with simple commands. Get Open WebUI + Ollama running in minutes.
Note
Harbor is in active development (v0.x). Join our Discord for support.
| Path | Time | Prerequisites | Best For |
|---|---|---|---|
| Quick Start | 5 min | Docker + Git | Docker users |
| Complete Install | 15-30 min | Just a computer | New to Docker |
| GPU Setup | +10 min | NVIDIA / AMD GPU | Optional boost |
- Quick Start
- Complete Installation Guide
- GPU Acceleration (Optional)
- Harbor CLI Installation Methods
- Harbor App (GUI)
- Troubleshooting
For users who already have Docker and Git installed.
- Docker installed and running (
docker --version) - Docker Compose 2.23.1+ installed (
docker compose version) - Git installed (
git --version) - 10GB+ free disk space
Choose your preferred method:
Quick Install Script (Recommended)
curl https://raw.githubusercontent.com/av/harbor/refs/heads/main/install.sh | bashharbor --version
harbor doctor # Check system compatibilityharbor up # Start default services (Ollama + Open WebUI)
harbor open # Open in browserTip
First launch requires creating a local admin account for Open WebUI.
✓ Done! What's next?
New to Docker? No problem. Choose your platform below for step-by-step instructions.
Harbor is a containerized toolkit that runs on top of Docker. This enables Harbor to support so many services and work across platforms. The sections below guide you through setting up Docker and all prerequisites.
🪟 Windows Installation
What you'll need:
- Windows 10/11 (64-bit)
- 20GB free disk space
- Administrator access
Why WSL2? Harbor uses WSL2 (Windows Subsystem for Linux) to run Docker on Windows. Think of it as a lightweight Linux environment inside Windows.
Open PowerShell as Administrator and run:
wsl --installRestart your computer when prompted.
Verify:
wsl --versionYou should see WSL version information ✓
- Download Docker Desktop for Windows
- Run the installer
- During installation, ensure "Use WSL 2 instead of Hyper-V" is checked
- Restart your computer
- Launch Docker Desktop
- In Docker Desktop settings, go to Resources → WSL Integration
- Enable integration with your default WSL distro
Verify (in WSL2 terminal):
docker --version
docker compose version
docker run hello-worldYou should see "Hello from Docker!" ✓
In your WSL2 terminal:
sudo apt update && sudo apt install git -yVerify:
git --versionFollow the Harbor CLI installation methods below.
✓ Success! What's next?
- Run
harbor doctorto verify everything is working - Try
harbor upto start default services - Learn more about Harbor
Common Issues:
- Docker Desktop not starting? Ensure virtualization is enabled in BIOS
- WSL not installing? You may need to enable Windows features manually
- Permission issues? Ensure Docker integration is enabled for your WSL distro
🍎 macOS Installation
What you'll need:
- macOS 11 (Big Sur) or newer
- 20GB free disk space
- Administrator access
[!NOTE] ARM64 Limitation: Some services don't ship ARM64 images (Apple Silicon). GPU pass-through is not supported on macOS.
- Download Docker Desktop for Mac
- Choose Apple Silicon or Intel based on your Mac
- Open the
.dmgfile and drag Docker to Applications - Launch Docker from Applications
- Follow the setup wizard
- Grant the requested permissions
Verify (in Terminal):
docker --version
docker compose version
docker run hello-worldYou should see "Hello from Docker!" ✓
Git typically comes pre-installed on macOS. Verify:
git --versionIf not installed, macOS will prompt you to install Command Line Tools.
Or install via Homebrew:
brew install gitFollow the Harbor CLI installation methods below.
✓ Success! What's next?
- Run
harbor doctorto verify everything is working - Try
harbor upto start default services - Learn more about Harbor
Common Issues:
- Docker Desktop not starting? Check System Preferences → Privacy & Security
- Permission errors? Grant Full Disk Access to Docker in System Preferences
- ARM64 service not available? Check available services for ARM64 support
🐧 Linux Installation
What you'll need:
- Ubuntu 20.04+, Debian 11+, Fedora 35+, or similar
- 20GB free disk space
- Sudo access
Ubuntu/Debian:
# Add Docker's official GPG key
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -yFedora:
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo systemctl start docker
sudo systemctl enable dockerConfigure Docker to run without sudo:
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp dockerVerify:
docker --version
docker compose version
docker run hello-worldYou should see "Hello from Docker!" ✓
Ubuntu/Debian:
sudo apt-get install git -yFedora:
sudo dnf install git -yVerify:
git --versionFollow the Harbor CLI installation methods below.
✓ Success! What's next?
- Run
harbor doctorto verify everything is working - Try
harbor upto start default services - Learn more about Harbor
Common Issues:
- Permission denied? Ensure you've added your user to the docker group and logged out/in
-
Docker service not starting? Try
sudo systemctl status docker - Old Docker version? Ensure Docker Compose 2.23.1+ is installed
Should you set this up?
- ✓ You have an NVIDIA or AMD GPU
- ✓ You want 3-10x faster inference for local LLMs
Note
Official documentation: NVIDIA Container Toolkit Installation Guide
Ubuntu/Debian:
# Add NVIDIA Container Toolkit repository
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# Install
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart dockerArch Linux:
# Install from official repositories
sudo pacman -S nvidia-container-toolkit
# Configure Docker runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart dockerWindows (WSL2): Follow the Ubuntu/Debian instructions above inside your WSL2 terminal.
Verify:
docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smiYou should see your GPU information ✓
Note
Official documentation: AMD ROCm Docker Guide
Use this method if you have an AMD Radeon GPU (RX 6000/7000 series or newer recommended).
Tip
Ensure your user is in the render or video group to access GPU devices:
sudo usermod -aG render,video $USER
Ubuntu (22.04 / 24.04):
# 1. Add ROCm GPG key
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \
gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
# 2. Add repository
source /etc/os-release
echo "deb [signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amd-container-toolkit/apt/ $VERSION_CODENAME main" \
| sudo tee /etc/apt/sources.list.d/amd-container-toolkit.list
# 3. Install
sudo apt update && sudo apt install -y amd-container-toolkit
# 4. Configure Docker
sudo amd-ctk runtime configure
sudo systemctl restart dockerWarning
Important: You must run amd-ctk runtime configure. Harbor specifically checks for the amd Docker runtime to auto-detect your GPU. If you skip this, your GPU will likely be ignored.
Fedora / RHEL:
# 1. Add repository and install
sudo dnf config-manager --add-repo https://repo.radeon.com/amd-container-toolkit/el9/main/amd-container-toolkit.repo
sudo dnf install -y amd-container-toolkit
# 2. Configure Docker
sudo amd-ctk runtime configure
sudo systemctl restart dockerVerify:
Note
This command may download the Ubuntu image if not present on your system.
docker run --rm --runtime=amd -e AMD_VISIBLE_DEVICES=all ubuntu ls -l /dev/driExpected output: /dev/dri/renderD128 shown in the container.
✓ GPU Enabled! Harbor will automatically use GPU for supported services when available.
Choose your preferred installation method. All methods work equally well.
This automated script:
- Clones Harbor to
~/.harbor - Adds Harbor to your PATH
- Works on Linux, macOS, and Windows (WSL2)
curl https://av.codes/get-harbor.sh | bashTip
Want to review the script first? curl https://av.codes/get-harbor.sh | less
Tip
Need a custom install location? See Manual Install below.
On Windows: Run this inside your WSL2 terminal, not PowerShell.
Same as the quick install script, but manual. You can install Harbor to any location:
# Default location
git clone https://github.com/av/harbor.git ~/.harbor
cd ~/.harbor
# Or a custom location
git clone https://github.com/av/harbor.git /path/to/harbor
cd /path/to/harbor
# Make Harbor CLI available globally
./harbor.sh ln
# Verify installation
harbor --versionThe harbor update command works the same way regardless of install location.
Tip
Use harbor home to reference the install path in scripts and commands.
Troubleshooting:
- If
harborcommand not found after install, restart your shell - On some systems, you may need to manually add
~/.harbor/binto PATH
After installing via any method:
# Check Harbor version
harbor --version
# Check system compatibility
harbor doctor
# View available commands
harbor --helpExpected output from harbor doctor:
- ✓ Docker installed and running
- ✓ Docker Compose 2.23.1 or newer
- ✓ Git installed
- ✓ Sufficient disk space
✓ Installation Complete!
Next steps:
# Start default services (Ollama + Open WebUI)
harbor up
# Open in browser
harbor open
# Browse available services
harbor lsTip
First launch requires creating a local admin account for Open WebUI. This is required because Harbor supports exposing your services to the internet.
Learn more:
- Harbor User Guide - How to use Harbor
- Available Services - Browse 50+ services
- CLI Reference - Complete command reference
The harbor doctor command checks your system for common issues:
harbor doctorThis will verify:
- Docker installation and daemon status
- Docker Compose version compatibility
- Git installation
- Disk space availability
- File permissions
- Bash version
"docker: command not found"
- Docker is not installed or not in PATH
- On Windows: Make sure you're running commands in WSL2, not PowerShell
- Solution: Follow the Complete Installation Guide for your platform
"Cannot connect to the Docker daemon"
- Docker Desktop is not running
- Solution: Start Docker Desktop and wait for it to fully initialize
"docker compose: command not found" or version too old
- Docker Compose plugin not installed or outdated
- Solution: Install/update Docker Compose plugin (minimum version 2.23.1)
- Check version:
docker compose version
"Permission denied" when running docker commands
- On Linux: User not in docker group
- Solution:
sudo usermod -aG docker $USERthen log out and back in - On Windows/macOS: Docker Desktop permissions issue
Services fail to start with GPU errors (NVIDIA or AMD)
- NVIDIA Container Toolkit not properly installed
- AMD:
amdruntime not configured or/dev/kfdmissing permission - Solution: See GPU Acceleration section. For AMD, ensure you ran
amd-ctk runtime configure.
"harbor: command not found" after installation
- PATH not updated or shell not restarted
- Solution: Restart your terminal or run
source ~/.bashrc(or~/.zshrc) - Manual fix: Add
~/.harbor/binto your PATH
Services download slowly or fail
- Large Docker images (especially with CUDA)
- Solution: Be patient, first download can take 10-30 minutes depending on your internet
- Retry:
harbor down && harbor up
Need more help?
- Join our Discord community
- Check GitHub Issues
- Read the CLI Reference
Alternative to the command-line interface.
Harbor App provides a graphical interface for managing Harbor services. It's built on top of the Harbor CLI.
Note
Harbor App is in beta. The CLI is more stable and feature-complete. Windows support is untested.
Use Harbor App if you:
- Prefer graphical interfaces over command-line
- Want visual service management
- Are comfortable with beta software
Use Harbor CLI if you:
- Comfortable with terminal commands
- Want the most stable experience
- Need all features and latest updates
- Are on Windows (CLI works great in WSL2)
- Harbor CLI v0.2.0+ installed and available globally
- Harbor CLI working correctly (
harbor doctorpasses) - macOS or Linux (Windows support untested)
🐧 Linux
Download the package for your distribution from the latest release:
Debian/Ubuntu (.deb)
# Download the .deb file from releases
sudo dpkg -i Harbor_*.deb
# If dependencies missing:
sudo apt-get install -fAppImage (Universal)
# Download the .AppImage file from releases
chmod +x Harbor_*.AppImage
./Harbor_*.AppImage✓ Launch Harbor App from your applications menu or run the AppImage.
🍎 macOS
Important: Harbor App is not code-signed. You'll need to bypass macOS security.
- Download
Harbor_aarch64.app.tar.gzfrom releases page - Extract the archive (double-click the
.tar.gzfile) - You'll see
Harbor.appin the same directory - Open Terminal in that directory and run:
sudo xattr -d com.apple.quarantine ./Harbor.app- Enter your system password when prompted
- Launch Harbor.app by double-clicking it
- (Optional) Move to Applications folder for easier access
✓ Harbor App is now ready to use!

Troubleshooting:
-
"damaged and can't be opened": Run the
xattrcommand above -
App opens but shows nothing: Run
harbor doctorto check CLI installation - Can't find Harbor.app: Make sure you extracted the .tar.gz file
🪟 Windows
[!WARNING] Harbor App on Windows is untested. We recommend using Harbor CLI in WSL2 instead.
If you want to try the Windows app:
- Download
.msiorsetup.exefrom releases page - Run the installer
- Launch from Start Menu
Requirements:
- Harbor CLI must be installed in WSL2
- Docker Desktop must be running
If the app opens but shows nothing:
- Run
harbor doctorin WSL2 to verify CLI installation - Check that Docker Desktop is running
- Check Windows-WSL2 networking
Having issues? Use Harbor CLI in WSL2 for the best Windows experience.
After installation:
- Launch the app - Should detect your Harbor CLI installation
- Browse services - See all 50+ available services
- Start services - Click to start Ollama, Open WebUI, or any service
- Monitor status - View running services and their logs
Learn more:
Minimum:
- 10GB free disk space (more recommended for multiple services)
- 8GB RAM (16GB+ recommended for LLMs)
- Docker 20.10+
- Docker Compose 2.23.1+
- Bash 3.2+
Recommended:
- 50GB+ free disk space
- 16GB+ RAM
- NVIDIA GPU (optional, for faster inference)
- SSD storage (for better performance)
Harbor requires Bash 3.2 or newer (available by default on most systems):
bash --versionIf you encounter Bash-related issues, please report them.
- Discord: Join our community server for live support
- GitHub Issues: Report bugs or request features at github.com/av/harbor/issues
- Documentation: Browse the Harbor Wiki
- CLI Reference: See all commands in Harbor CLI Reference
Now that Harbor is installed:
- Learn the basics: Harbor User Guide
- Explore services: Browse 50+ services
- Master the CLI: Complete CLI Reference
- Join the community: Discord
Popular first services to try:
- Open WebUI - ChatGPT-like interface
- Ollama - Run local LLMs
- ComfyUI - Image generation
- n8n - Workflow automation
Welcome to Harbor! 🚢