Установка SonarQube на свой сервер: коротко и с данными
Конспект страницы: 6 разделов коротко, данные на 14 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Установка SonarQube на свой сервер.
Коротко
Главная / Разработка / SonarQube Установка SonarQube на свой сервер упирается не в compose-файл, а в настройки ядра Linux: без параметра vm.max_map_count не ниже 524288 контейнер падает при старте. SonarQube проверяет исходный код на ошибки, уязвимости и «запахи кода» и показывает отчёт на порту 9000. Бесплатная сборка называется Community Build, образ sonarqube:community, и отдельная база PostgreSQL ей нужна уже для рабочей установки.
Конспект по разделам
Что проверяет SonarQube и в какой сборке он бесплатен
SonarQube анализирует код при каждой сборке и складывает находки в отчёт: ошибки, уязвимости, дублирование, покрытие тестами. Решение «пускать ли код дальше» принимает Quality Gate, то есть набор порогов, например «ни одной новой уязвимости». Бесплатная сборка называется Community Build (раньше Community Edition) и подходит для начала.
Какие параметры ядра нужны SonarQube перед запуском
Внутри SonarQube работает поисковый движок Elasticsearch, поэтому системные ограничения у него жёсткие. Проверьте и задайте параметры на хосте, не в контейнере. Последняя строка делает значение постоянным.
Установка SonarQube через Docker Compose с PostgreSQL
Встроенная база H2 у SonarQube есть только для знакомства, данные из неё в PostgreSQL не переносятся. Поэтому для рабочего сервера сразу берите PostgreSQL: свой контейнер или отдельный сервер. Если контейнер SonarQube завершается с кодом 137, системе не хватило памяти и она остановила процесс.
- Поставьте Docker с плагином Compose и задайте параметры ядра из таблицы выше.
- Создайте compose-файл с SonarQube и PostgreSQL.
- Запустите docker compose up -d и подождите минуту-две: первый запуск разворачивает схему базы.
- Откройте http://IP-сервера:9000, войдите как admin с паролем admin и сразу задайте новый.
Как подключить SonarQube к GitLab CI и Jenkins
SonarQube сам код не забирает. Сканер запускается в вашем пайплайне, анализирует рабочую копию и отправляет отчёт на сервер. Нужны три значения: адрес сервера, токен и ключ проекта.
Копии и обновление SonarQube без потери истории
История анализов хранится в PostgreSQL, остальное в томах data и extensions. Делайте дамп базы командой pg_dump и копируйте каталог extensions, если ставили плагины. Куда выносить архивы: сервер для бэкапов.
Запустите свой сервер за пару минут
Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.
- NVMe-диски и гарантированная доля процессора
- Root-доступ и любой софт, от Docker до игровых серверов
- Маркетплейс: 91 приложение в один клик
- Бесплатный перенос проекта силами специалистов
Данные
| Параметр | Значение |
|---|---|
| vm.max_map_count | не ниже 524288 |
| fs.file-max | не ниже 131072 |
| Открытые файлы (ulimit -n) | не меньше 131072 |
| Потоки (ulimit -u) | не меньше 8192 |
Данные на 14 октября 2026.
Вопросы и ответы
Почему SonarQube не запускается и пишет про vm.max_map_count?
Встроенный поисковый движок требует vm.max_map_count не ниже 524288, а в системе значение меньше. Задайте его командой sysctl на хосте и добавьте в sysctl.d, чтобы оно пережило перезагрузку.
Какой логин и пароль у SonarQube после установки?
Логин admin и пароль admin. При первом входе SonarQube потребует сменить пароль, сделайте это до публикации сервера в интернет.
Нужна ли SonarQube отдельная база PostgreSQL?
Для рабочего сервера да: встроенная база только для знакомства, и перенести из неё данные нельзя. PostgreSQL ставят контейнером рядом или берут у провайдера как управляемую.
Чем SonarQube Community Build отличается от Community Edition?
Это одна бесплатная сборка: SonarSource переименовала Community Edition в Community Build. Образ на Docker Hub называется sonarqube:community.