Установка Harbor на свой сервер: коротко и с данными
Конспект страницы: 6 разделов коротко, данные на 14 октября 2026 и ответы на 5 вопросов. Полный разбор с примерами: Установка Harbor на свой сервер.
Коротко
Установка Harbor на свой сервер делается скриптом install.sh из офлайн-установщика: он разворачивает набор контейнеров Docker Compose, и по документации им нужно минимум 2 процессора, 4 ГБ памяти и 40 ГБ диска. Harbor это реестр образов контейнеров с веб-интерфейсом, ролями, сканированием уязвимостей и репликацией, проект CNCF под лицензией Apache 2.0. Для одной команды хватит конфигурации из документации: 2 процессора, 4 ГБ памяти и 40 ГБ диска, а для сканера и роста образов берите 4 ядра и 8 ГБ.
Конспект по разделам
Что даёт Harbor по сравнению с обычным registry
Обычный образ registry хранит слои и ничего больше: нет интерфейса, ролей и поиска. Harbor добавляет то, без чего реестр в компании не обойтись. Если реестр нужен одному человеку и без интерфейса, Harbor избыточен, разбор вариантов: self hosted Docker registry.
- Проекты и роли.
- Сканирование.
- Репликация и кэш.
- Очистка.
Сколько ресурсов нужно Harbor на VPS
Место уходит не на сам Harbor, а на слои образов: каждый новый тег добавляет разницу, а удалённые теги не освобождают диск, пока не запущена сборка мусора. Планируйте диск с запасом. Три ответа, и калькулятор подберёт готовую конфигурацию
Установка Harbor из офлайн-установщика по шагам
Каталог data_volume хранит все слои образов и базу, ему нужен основной объём диска. Сертификат можно получить через Certbot.
- Поставьте Docker Engine нужной версии и направьте A-запись поддомена, например harbor.example.com, на IP сервера.
- Скачайте офлайн-установщик с релизов Harbor на GitHub и распакуйте его: tar xzvf harbor-offline-installer.tgz.
- Скопируйте шаблон harbor.yml.tmpl в harbor.yml и впишите свой домен в hostname, пути к сертификату и ключу, пароль администратора и пароль базы данных.
- Запустите установку со сканером: sudo./install.sh --with-trivy.
HTTPS, docker login и роботы для CI в Harbor
Клиент Docker принимает реестр без HTTPS только если его внесли в список разрешённых вручную, поэтому настраивайте сертификат сразу. Если перед Harbor уже стоит обратный прокси, то есть программа, принимающая HTTPS вместо него, отключите раздел https в harbor.yml и задайте внешний адрес в external_url. Подходят Traefik или Nginx.
Очистка места, копии и обновление Harbor
Удаление образа не освобождает диск В Harbor удаление тега только снимает ссылку на слои. Место возвращает сборка мусора в разделе Clean Up, и запускать её удобно по расписанию вместе с правилами хранения тегов. Копируйте весь каталог data_volume и файл harbor.yml: без них реестр не восстановить.
Храните образы рядом с серверами
Приватный реестр для Docker-образов и Helm-чартов, объём до 20 ТБ.
- 5 ГБ за 80 ₽ в месяц
- 100 ГБ за 400 ₽ в месяц
- Трафик до Kubernetes 0 ₽
Данные
| Параметр | Минимум | Рекомендуют |
|---|---|---|
| Процессоры | 2 | 4 |
| Память | 4 ГБ | 8 ГБ |
| Диск | 40 ГБ | 160 ГБ |
| Docker Engine | выше 20.10 | |
| Docker Compose | выше 2.3, входит в Docker Engine | |
| Порты | 80 для HTTP и 443 для HTTPS, меняются в harbor.yml |
Данные на 14 октября 2026.
Вопросы и ответы
Как развернуть Harbor на своём сервере?
Поставить Docker Engine, скачать офлайн-установщик с GitHub, заполнить harbor.yml (домен, сертификат, пароли) и выполнить install.sh с ключом --with-trivy. Дальше войти на порт 443 под admin.
Сколько ресурсов нужно Harbor по документации?
Минимум 2 процессора, 4 ГБ памяти и 40 ГБ диска, рекомендуют 4 процессора, 8 ГБ и 160 ГБ. Docker Engine нужен выше версии 20.10.
Какой пароль администратора у Harbor по умолчанию?
Логин admin, а начальный пароль берётся из параметра harbor_admin_password в файле harbor.yml. В шаблоне там стоит общеизвестное значение, поэтому замените его до запуска install.sh.
Почему после удаления образа в Harbor не освободилось место на диске?
Удаление тега убирает только ссылку. Слои удаляет сборка мусора в разделе Clean Up, её запускают вручную или по расписанию.
Как кэшировать Docker Hub через Harbor?
Добавьте Docker Hub как внешний реестр в разделе Registries, создайте проект с режимом Proxy Cache и скачивайте образы через адрес Harbor и имя этого проекта.