Установка Bitbucket с использованием Docker Compose
Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Bitbucket с использованием Docker Compose.
Bitbucket - это сервис хостинга репозиториев исходного кода на основе Git, принадлежащий компании Atlassian. Bitbucket предлагает как коммерческие планы, так и бесплатные аккаунты с неограниченным количеством закрытых репозиториев.
💾 Репозиторий, использованный в этом руководстве, можно найти на GitHub.
Мы будем использовать Traefik в качестве reverse proxy. Он будет отвечать за получение криптографических сертификатов для ваших доменных имен от Let’s Encrypt, а также перенаправлять запросы к определенным доменным именам на соответствующие этим доменным именам сервисы.
❗ Важно отметить, что вам потребуются криптографические сертификаты для ваших доменных имен. В моей конфигурации, сертификаты запрашиваются автоматически с помощью Traefik и Let’s Encrypt.
❗ Для получения криптографических сертификатов вам потребуются записи типа A во внешней зоне DNS, которые указывают на IP-адрес вашего сервера, где установлен Traefik. Если вы создали эти записи недавно, следует подождать, прежде чем начать установку сервисов. Полная репликация данных записей между DNS-серверами может занять от нескольких минут до 48 часов или даже больше в редких случаях.
В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 22.04 LTS.
Подробно о том, как установить Ubuntu Server 22.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 22.04 LTS”.
Также на сервере должен быть установлен Docker Engine и Docker Compose.
Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав “Установка Docker Engine и Docker Compose на Ubuntu Server”.
Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.
Для установки OpenSSH на сервер вы можете воспользоваться командой:
sudo apt install openssh-server
Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY или MobaXterm.
В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.
💡 Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к сервисам:
- TCP порт 80 - для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
- TCP порт 443 - для доступа к веб-интерфейсу Bitbucket. ; TCP-порт 7999 - для безопасных операций Git через SSH, управления SSH-ключами пользователя, зашифрованной передачи данных и задач администрирования сервера.
Подключаемся к серверу, на который планируется установить Bitbucket.
Теперь необходимо создать сети для ваших служб.
Создаем сеть для Traefik с помощью команды:
docker network create traefik-network
Создаем сеть для Bitbucket с помощью команды:
docker network create bitbucket-network
Далее нужно клонировать репозиторий, который содержит конфигурационные файлы, которые содержать все необходимые условия для работы Bitbucket.
Клонировать репозиторий можно с помощью команды:
git clone https://github.com/heyValdemar/bitbucket-traefik-letsencrypt-docker-compose.git
Переходи в директорию с репозиторием с помощью команды:
cd bitbucket-traefik-letsencrypt-docker-compose
Далее вам необходимо изменить переменные в файле .env
в соответствии с вашими требованиями.
💡 Обратите внимание, что .env
должен находиться в той же директории, что и bitbucket-traefik-letsencrypt-docker-compose.yml
.
Теперь запустим Bitbucket с помощью команды:
docker compose -f bitbucket-traefik-letsencrypt-docker-compose.yml -p bitbucket up -d
Для доступа к панели управления Bitbucket необходимо с рабочей станции перейти по ссылке https://bitbucket.heyvaldemar.net, где bitbucket.heyvaldemar.net — доменное имя моего сервиса. Соответственно, вам необходимо указать свое доменное имя, которое указывает на IP-адрес вашего сервера с установленным сервисом Traefik, который перенаправит запрос к Bitbucket.
💡 Обратите внимание, вам нужно указать доменное имя сервиса, заданное ранее в файле .env
.
Вам теперь нужно ввести лицензионный ключ для Bitbucket.
Если у вас его нет, вы можете получить временный ключ для тестирования Bitbucket.
Выберите “I need an evaluation license” и кликните “I have an account” или “Create an account” для продолжения.
Если у вас есть аккаунт Atlassian, введите адрес электронной почты, привязанный к этому аккаунту, в поле “Enter email”, затем нажмите кнопку “Continue”.
Введите пароль от вашего аккаунта Atlassian и нажмите кнопку “Log in”.
На следующем шаге укажите продукт, для которого вам нужен временный лицензионный ключ, и введите название вашей организации.
Нажмите кнопку “Generate License” чтобы получить временную лицензию для Bitbucket.
Далее вам нужно будет подтвердить установку временного лицензионного ключа Bitbucket на вашем сервере.
Нажмите кнопку “Yes” для продолжения.
В поле “License Key” введите временный лицензионный ключ, который вы получили ранее, затем нажмите кнопку “Next”.
На следующем шаге, пожалуйста, введите ваше имя пользователя, имя, адрес электронной почты и пароль, чтобы настроить аккаунт администратора Bitbucket.
Нажмите кнопку “Next” для продолжения.
Войдите в систему с аккаунтом, созданным на предыдущем шаге.
Bitbucket готов к использованию.
Для доступа к панели управления Traefik необходимо с рабочей станции перейти по ссылке https://traefik.bitbucket.heyvaldemar.net, где traefik.bitbucket.heyvaldemar.net — доменное имя моего сервиса. Соответственно, вам необходимо указать свое доменное имя, которое указывает на IP-адрес вашего сервера с установленным Traefik.
💡 Обратите внимание, вам нужно указать доменное имя сервиса, заданное ранее в файле .env
.
Указываем имя пользователя и пароль, заданный ранее в файле .env
, и нажимаем на кнопку “OK”.
Добро пожаловать в панель управления Traefik.