Main > Abyss | Notes | Servers > Установка Bitbucket Server на VPS в докер

Установка Bitbucket Server на VPS в докер

28.11.2019 0 comments » Views: 954

Bitbucket

Сегодня решил разобраться с системой контроля репозиториев Bitbucket, а именно установить ее на VPS в докер контейнер..

Что такое Bitbucket

Bitbucket - система контроля репозиториев, похожая на GitHub. По сути, это gui обертка на git-ом, позволяющая более удобно управлять репозиториями, проектами, ветками, пулл реквестами, комментариями к коду и много чем еще.

Компания Atlassian, разработчик этого продукта, предлагает несколько вариантов решений: https://www.atlassian.com/software/bitbucket/pricing

  • В облаке: есть бесплатный тариф с хранилищем до 1 Gb и максимум 5 пользователей. За 3$/мес - 5 Gb места и неограниченное кол-во пользователей. За 6$/мес, 10 Гб места.
  • Self hosted: установка на свой сервер
    • Bitbucket Server: 10 пользователей = 10$/разово, 25 пользователей = 2900$/разово, 50 пользователей = 5200$/разово и т.д.
    • Bitbucket Data Center: 25 пользователей = 1980$/год, 50 пользователей = 3630$/год и т.д.

В облаке на бесплатный тариф можно зарегистрироваться сразу, для Self-Hosted решений, есть возможность получить 30 дневный триал.

С облачным решением, я уже был знаком, поэтому решил посмотреть в сторону Self Hosted - Bitbucket Server, в частности для того, чтобы купить лицензию и в долгосрочном периоде перевести свои проекты туда без привязки к ограниченному месту на диске.

Выбор сервера для установки

Во время установки, я столкнулся с тем, что в моем тарифном плане у VPS, было всего 2 Гб оперативки. К сожалению, пришлось увеличивать тарифный план (до 4 Гб), тк этой памяти не хватило даже просто запустить Bitbucket Server. К счастью, я использую Hetzner Cloud, где можно легко увеличить размер сервера в пару кликов, однако так работает не везде, поэтому советую начать с рекомендуемых требований.

Найти их можно тут: https://confluence.atlassian.com/bitbucketserver/supported-platforms-776640981.html

Там есть версии ПО, но основное вот:

  • Процессор
    • режим тестирования: 1 ядро
    • продакшен: 2+ ядра
  • Память - минимум 3Гб: 1 Гб для Bitbucket Server + 2 Гб, для гит операций.
  • ОС: Windows / Linux
  • Java, от 11 версии
  • Базы данных: есть поддержка MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Amazon Aurora, H2. Присутствует ограничения по веткам версий, смотрите по ссылке.

Как видите, для старта, желательно выделить 3 Гб памяти для нормальной работы. Если на вашем сервере будет что-то еще, например, в моем случае там nginx, mysql, php, docker и еще пара веселостей + самой ОС так же нужна оперативка, я бы рекомендовал смотреть сразу в сторону тарифных планов с минимум 8 Гб ОЗУ.

Установка

Режимов установки есть несколько, я выбрал установку в докер.

Шаг 1. Установка Docker и Docker Compose

Добавляем ключ репозитория

Добавляем репозиторий

Обновляем списки пакетов

Устанавливаем docker и docker-compose

Проверяем что докер установился и запущен

Опционально, если работаете не от пользователя root, и не хотите каждый раз при использовании докера запускать его через sudo, добавьте своего пользователя в группу docker

Шаг 2. Подготовка docker-compose.json

На этом этапе вам нужно или самому собрать образ или воспользоваться готовым, я выбрал из официального репозитория.

  • https://hub.docker.com/r/atlassian/bitbucket-server/

Создаем папку для будущих файлов

К сожалению, готового docker-compose.yml для выбранного образа я не отыскал, поэтому составил свой:

Тут пожалуй стоит остановиться и упомянуть, что bitbucket использует два порта: 7990 для доступа по http(s) и 7999 для доступа по ssh. В экспериментальных целях, я решил повесить bitbucket на отдельный поддомен (bitbucket.mydomain.tld) и проксировать с помощью nginx трафик с 80 порта на 7990. Именно поэтому я прокинул порт 7990 на 127.0.0.1:7990, а не на внешний порт. В вашем случае это может быть излишним, поэтому конфигурация будет вот такой.

Шаг 3. Запускаем и проверяем

Выполняем запуск в обычном режиме

если нет ошибок, прерываем с помощью Ctrl+C и перезапускаем в detached mode

Шаг 4. Первоначальная конфигурация

Переходим по адресу: http://127.0.0.1:7990 и попадаем в мастер установки. Там нас попросят ввести ключ продукта или зарегистрировать триал. Далее необходимо будет ввести данные админа и можно начинать пользоваться.

Шаг 5. Опционально. Настройка Nginx

Как я уже упоминал, я решил проксироват 80 порт моего домена на порт 127.0.0.1:7990 bitbucket сервера. Это не обязательный шаг, больше для того, чтобы просто ввести адрес в строке и на париться с портами. Конфиг nginx-а выглядит так

/etc/nginx/sites-enabled/bitbucket.mydomain.tld

на входе bitbucket уже есть авторизация и даже каптча с защитой от брутфорса, но я еще добавли и http basic авторизация, чтобы не светить лишний раз морду сайта в интернете

Список полезных ссылок

  • Системные требования и техническая информация
    • Системные требования: https://confluence.atlassian.com/bitbucketserver/supported-platforms-776640981.html
    • Порты: https://confluence.atlassian.com/bitbucketserverkb/which-ports-does-bitbucket-server-listen-on-and-what-are-they-used-for-806029586.html
    • Scaling: https://confluence.atlassian.com/bitbucketserver/scaling-bitbucket-server-776640073.html
    • Resource limit reached: https://confluence.atlassian.com/bitbucketserverkb/bitbucket-server-is-reaching-resource-limits-779171381.html
  • Примеры docker-compose.yml
    • https://github.com/EugenMayer/docker-image-atlassian-bitbucket/blob/master/docker-compose.yml

Author: | Rating: 4/5 | Tags: , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>