1.0.-Installing-Harbor.md
June 3, 2026 ยท View on GitHub
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.
At a Glance
| Path | Time | Prerequisites | Best For |
|---|---|---|---|
| Quick Start | 5 min | Docker + Git | Docker users |
| Agent Install Prompt | 5-15 min | Agent CLI | Claude Code, Codex, and similar tools |
| Complete Install | 15-30 min | Just a computer | New to Docker |
| GPU Setup | +10 min | NVIDIA / AMD GPU | Optional boost |
Table of Contents
- Quick Start
- Agent Install Prompt
- Complete Installation Guide
- GPU Acceleration (Optional)
- Harbor CLI Installation Methods
- Harbor App (GUI)
- Troubleshooting
Quick Start
For users who already have Docker and Git installed.
Prerequisites Check
- Docker installed and running (
docker --version) - Docker Compose 2.23.1+ installed (
docker compose version) - Git installed (
git --version) - 10GB+ free disk space
Install Harbor
Choose your preferred method:
Quick Install Script (Recommended)
curl -fsSL https://raw.githubusercontent.com/av/harbor/refs/heads/main/install.sh | bash
Verify Installation
harbor --version
harbor doctor # Check system compatibility
Start Using Harbor
harbor up # Start default services (Ollama + Open WebUI)
harbor open # Open in browser
Tip
First launch requires creating a local admin account for Open WebUI.
โ Done! What's next?
Agent Install Prompt
Use install.md when you want an agentic coding tool to install Harbor for you. The prompt tells the agent to orchestrate the install through Harbor's install.sh (which installs dependencies by default) and verify with harbor --version and harbor doctor.
# With Claude Code
curl -fsSL https://raw.githubusercontent.com/av/harbor/refs/heads/main/install.md | claude
# With Codex
codex "$(curl -fsSL https://raw.githubusercontent.com/av/harbor/refs/heads/main/install.md)"
This is the recommended path for Claude Code, Codex, and similar local agents. Use the quick script directly when you are installing Harbor yourself.
Complete Installation Guide
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
Windows Installation (15-25 minutes)
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.
Step 1: Install WSL2 (5 minutes)
Open PowerShell as Administrator and run:
wsl --install
Restart your computer when prompted.
Verify:
wsl --version
You should see WSL version information โ
Step 2: Install Docker Desktop (10 minutes)
- 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-world
You should see "Hello from Docker!" โ
Step 3: Install Git (2 minutes)
In your WSL2 terminal:
sudo apt update && sudo apt install git -y
Verify:
git --version
Step 4: Install Harbor (5 minutes)
Follow 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
macOS Installation (15-20 minutes)
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. For Metal-accelerated inference, use host-native backends like Docker Model Runner (harbor up dmr), MLX (harbor up mlx), or oMLX (harbor up omlx) โ they run on the host and are exposed to Harbor containers via a proxy.
Step 1: Install Docker Desktop (10 minutes)
- 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-world
You should see "Hello from Docker!" โ
Step 2: Install Git (2 minutes)
Git typically comes pre-installed on macOS. Verify:
git --version
If not installed, macOS will prompt you to install Command Line Tools.
Or install via Homebrew:
brew install git
Step 3: Install Harbor (5 minutes)
Follow 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
Linux Installation (15-20 minutes)
What you'll need:
- Ubuntu 20.04+, Debian 11+, Fedora 35+, or similar
- 20GB free disk space
- Sudo access
Step 1: Install Docker (10 minutes)
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 -y
Fedora:
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 docker
Configure Docker to run without sudo:
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
Verify:
docker --version
docker compose version
docker run hello-world
You should see "Hello from Docker!" โ
Step 2: Install Git (2 minutes)
Ubuntu/Debian:
sudo apt-get install git -y
Fedora:
sudo dnf install git -y
Verify:
git --version
Step 3: Install Harbor (5 minutes)
Follow 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
GPU Acceleration (Optional)
Should you set this up?
- โ You have an NVIDIA or AMD GPU
- โ You want 3-10x faster inference for local LLMs
NVIDIA Setup
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 docker
Arch Linux:
# Install from official repositories
sudo pacman -S nvidia-container-toolkit
# Configure Docker runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Windows (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-smi
You should see your GPU information โ
AMD Setup (ROCm)
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 docker
Warning
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 docker
Verify:
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/dri
Expected output: /dev/dri/renderD128 shown in the container.
โ GPU Enabled! Harbor will automatically use GPU for supported services when available.
Harbor CLI Installation Methods
Choose your preferred installation method. All methods work equally well.
Quick Install Script (Recommended)
This automated script:
- Installs system dependencies (Git, curl, Docker, Docker Compose) by default via
requirements.sh - Clones Harbor to
~/.harbor - Adds Harbor to your PATH
- Works on Linux, macOS, and Windows (WSL2)
curl -fsSL https://raw.githubusercontent.com/av/harbor/refs/heads/main/install.sh | bash
If Docker, Git, and Docker Compose are already installed and you want to skip the dependency step:
curl -fsSL https://raw.githubusercontent.com/av/harbor/refs/heads/main/install.sh | bash -s -- --skip-requirements
Tip
Want to review the script first? curl -fsSL https://raw.githubusercontent.com/av/harbor/refs/heads/main/install.sh | less
Tip
Want an agentic tool to run the install for you? Use the Agent Install Prompt.
Tip
Need a custom install location? See Manual Install below.
On Windows: Run this inside your WSL2 terminal, not PowerShell.
Manual Install
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 --version
The 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
~/.local/binto PATH
Verify Your Installation
After installing via any method:
# Check Harbor version
harbor --version
# Check system compatibility
harbor doctor
# View available commands
harbor --help
Expected 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 ls
Tip
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
Troubleshooting
harbor doctor
The harbor doctor command checks your system for common issues:
harbor doctor
This will verify:
- Docker installation and daemon status
- Docker Compose version compatibility
- Git installation
- Disk space availability
- File permissions
- Bash version
Common Issues
"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
~/.local/binto your PATH (Harbor links the CLI there viaharbor.sh ln)
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
Harbor App (GUI)
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.
On first launch, the app can install Harbor and host prerequisites for you through a guided setup flow. You only need to download and install the Harbor App package first; the CLI install is optional beforehand.
Note
Harbor App is in beta. The CLI is more stable and feature-complete for advanced workflows. Windows App support is beta and uses WSL2 plus Docker Desktop.
When to Use Harbor App
Use Harbor App if you:
- Prefer graphical interfaces over command-line
- Want visual service management
- Want App-first install on Linux, macOS, or Windows (WSL2)
- 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
- Prefer installing Harbor manually before opening the app
Prerequisites
App package only (recommended path)
- Harbor App installed from releases
- Linux, macOS, or Windows 10/11 with WSL2 capability (Windows)
- Administrator or sudo access when the guided installer needs it
- Network access for Docker images and Harbor install scripts
Already have Harbor CLI (optional)
-
harboron PATH (or in WSL for Windows) andharbor doctorpassing - Docker daemon running when you start services
If the CLI is missing, launch the app and use Install Harbor on the setup screen. See Harbor App โ Guided setup for platform-specific behavior.
Installation by Platform
๐ง 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 -f
AppImage (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.
Installation Steps
- 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 - Setup screen or errors after launch: Complete guided setup or run
harbor doctorafter the CLI is installed - Can't find Harbor.app: Make sure you extracted the .tar.gz file
๐ช Windows
Harbor App on Windows is beta. Guided setup installs WSL2 (if needed), an Ubuntu WSL2 distro, Docker Desktop, and the Harbor CLI inside WSL via install.ps1.
- Download
.msiorsetup.exefrom releases page - Run the installer
- Launch from Start Menu
- On the setup screen, choose Install Harbor and complete any WSL or Docker Desktop first-run prompts
- Enable Docker Desktop WSL integration for your Ubuntu distro when prompted, then Retry setup if Docker was not reachable yet
Optional: set HARBOR_WSL_DISTRO to your Ubuntu distro name before launching the app if you do not use the default.
If setup is blocked or the main UI shows errors:
- Run
harbor doctorinside WSL:wsl.exe -d Ubuntu -e bash -lic 'harbor doctor' - Confirm Docker Desktop is running and integrated with your WSL distro
- Restart Harbor App after WSL or Docker Desktop finishes its first-run setup
Having issues? See Harbor App โ Guided setup or install Harbor manually in WSL2 with the Windows installation steps and press Check in the app.
Next Steps with Harbor App
After installing the app package:
- Launch the app โ Complete guided setup if prompted, or confirm Ready if
harboris already installed - Verify the CLI โ Open the CLI screen and confirm
harbor doctorpasses - Browse services โ See all 50+ available services on the Home screen
- Start services โ Start the default stack or individual services (for example Open WebUI and a backend)
- Monitor status โ View running services and their logs
# Equivalent CLI steps after setup is ready
harbor doctor
harbor up
harbor open
Learn more:
Additional Resources
System Requirements Summary
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)
Bash Version Check
Harbor requires Bash 3.2 or newer (available by default on most systems):
bash --version
If you encounter Bash-related issues, please report them.
Getting Help
- 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
What's Next?
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! ๐ข