С помощью этого руководства вы развернете сервис для управления проектами с открытым исходным кодом Taiga на бесплатной виртуальной машине в облаке Cloud.ru Evolution. Вы создадите инфраструктуру, развернете приложение с помощью Docker Compose и опубликуете его на сервере Nginx, обеспечив безопасный доступ по HTTPS.
Вы будете использовать следующие сервисы:
Виртуальная машина free tier — сервис, в рамках которого предоставляется бесплатная виртуальная машина с готовой конфигурацией.
«Публичные IP» — сервис для организации доступа к приложению через интернет.
Taiga — сервис для управления проектами с открытым исходным кодом.
Docker — система контейнеризации.
Docker Compose — инструмент для запуска и управления Docker-контейнерами.
Бесплатный сервис nip.io для получения публичного доменного имени и сертификата. Вы также можете использовать собственное зарегистрированное доменное имя и SSL-сертификат для организации доступа.
Nginx — веб-сервер для проксирования запросов и организации защищенного HTTPS-доступа к приложению.
Let’s Encrypt — сервис для автоматического получения бесплатного SSL-сертификата.
Шаги:
Если вы уже зарегистрированы, войдите под своей учетной записью.
Сгенерируйте ключевую пару и загрузите публичный ключ в Cloud.ru Evolution.
На этом шаге вы создадите виртуальную машину и группу безопасности.
Создайте бесплатную виртуальную машину со следующими параметрами:
Название: vm-taiga.
Образ: публичный образ Ubuntu 22.04.
Подключить публичный IP: оставьте опцию включенной.
Метод аутентификации: публичный ключ.
Публичный ключ: укажите ключ, созданный ранее.
Имя хоста: vm-taiga.
На странице Инфраструктура → Виртуальные машины убедитесь, что отображается виртуальная машина vm-taiga со статусом «Запущена».
Создайте группу безопасности с названием taiga-sg и добавьте в нее правила:
Трафик | Протокол | Порт | Тип источника/адресата | Источник/Адресат |
|---|---|---|---|---|
Входящий | TCP | 22 | IP-адрес | 0.0.0.0/0 |
Входящий | TCP | 80 | IP-адрес | 0.0.0.0/0 |
Входящий | TCP | 443 | IP-адрес | 0.0.0.0/0 |
Входящий | TCP | 8000 | IP-адрес | 0.0.0.0/0 |
Входящий | TCP | 9000 | IP-адрес | 0.0.0.0/0 |
Исходящий | Любой | Оставьте пустым | IP-адрес | 0.0.0.0/0 |
На странице Сети → Группы безопасности убедитесь, что отображается группа безопасности taiga-sg со статусом «Создана».
Убедитесь, что в личном кабинете на странице сервиса «Виртуальные машины», в разделе Сетевые параметры отображается группа безопасности taiga-sg.
На этом шаге вы установите необходимые пакеты и настроите систему на виртуальной машине.
Подключитесь к виртуальной машине vm-taiga по SSH.
Обновите систему и установите необходимые зависимости:
sudo apt update && sudo apt upgrade -y &&\sudo apt install -y curl apt-transport-https\ca-certificates\software-properties-common\gnupg2\lsb-release\unzip
Установите Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt updatesudo apt install docker-ce docker-ce-cli containerd.io -y
Дайте текущему пользователю права на запуск Docker:
sudo usermod -aG docker $USERnewgrp docker
Проверьте, что Docker и Docker Compose установлены корректно:
docker --versiondocker compose version
Установите и запустите Nginx:
sudo apt install nginx -ysudo systemctl enable nginxsudo systemctl start nginx
Установите Let’s Encrypt и плагин для Nginx:
sudo apt install certbot python3-certbot-nginx -y
На этом шаге вы настроите службу Nginx и обеспечите доступ по HTTPS.
Настройте межсетевой экран:
sudo ufw allow OpenSSHsudo ufw allow 'Nginx Full'sudo ufw enable
Создайте конфигурационный файл Nginx:
sudo nano /etc/nginx/sites-available/taiga.conf
Вставьте конфигурацию, заменив <ip_address> на публичный IP-адрес виртуальной машины vm-taiga.
server {listen 80;server_name taiga.<ip_address>.nip.io www.taiga.<ip_address>.nip.io;location / {proxy_pass http://localhost:9000/;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Scheme $scheme;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";proxy_redirect off;}}
Активируйте конфигурацию и перезапустите Nginx:
sudo ln -sf /etc/nginx/sites-available/taiga.conf /etc/nginx/sites-enabled/taiga.confsudo rm -f /etc/nginx/sites-enabled/defaultsudo nginx -tsudo systemctl reload nginx
Проверьте, что Nginx работает:
sudo systemctl status nginx
Сервис Nginx должен быть в статусе «active (running)».
Выпустите SSL-сертификат:
sudo certbot --nginx -d taiga.<ip_address>.nip.io --redirect --agree-tos -m <email>
Где:
<ip_address> — публичный IP-адрес виртуальной машины vm-taiga.
<email> — email для регистрации сертификата.
Разверните серверное приложение Taiga с помощью Docker Compose.
Клонируйте репозиторий приложения:
git clone https://github.com/taigaio/taiga-docker
Перейдите в директорию приложения:
cd taiga-docker
Переключитесь на стабильную версию приложения:
git checkout stable
Откройте файл .env для редактирования:
sudo nano .env
Замените значения переменных в файле, оставив остальные значения по умолчанию:
TAIGA_SCHEME=httpsTAIGA_DOMAIN=taiga.<ip_address>.nip.ioWEBSOCKETS_SCHEME=wss
Где <ip_address> — публичный IP-адрес виртуальной машины vm-taiga.
Запустите контейнеры с приложением:
sudo docker compose up -d
Проверьте, что у всех контейнеров отображается статус Up:
sudo docker compose ps
Создайте учетную запись администратора:
sudo docker compose -f docker-compose.yml -f docker-compose-inits.yml run --rm taiga-manage createsuperuser
Перейдите по адресу https://taiga.<ip_address>.nip.io, где <ip_address> — публичный IP-адрес виртуальной машины vm-taiga.
Откроется главная страница сервиса Taiga.
В правом верхнем углу нажмите Login.
Введите учетные данные администратора, созданного на шаге 8.
Откроется страница управления проектами.
Когда вы развернули и настроили сервис, закройте доступ по SSH для повышения безопасности.
В личном кабинете на верхней панели слева нажмите и выберите Инфраструктура → Виртуальные машины.
В списке виртуальных машин выберите vm-taiga.
Перейдите на вкладку Сетевые параметры.
В блоке сетевого интерфейса нажмите и выберите Изменить группы безопасности.
Удалите группу SSH-access_ru и сохраните изменения.
Убедитесь, что доступа нет — попробуйте подключиться к виртуальной машине по SSH.
После отключения доступа по SSH, администрирование сервиса будет доступно через серийную консоль виртуальной машины.
Вы развернули сервис для управления проектами Taiga на бесплатной виртуальной машине в облаке Cloud.ru с публикацией по HTTPS. Полученные навыки помогут вам создавать сервисы с использованием облачной инфраструктуры.