Установка CapRover на сервер. Возможности развертывания приложений

CapRover VDS Пример

В этой статье продолжим тему про полезный инструмент Caprover, который позволяет организовать удобный PaaS-сервис для удобного деплоя веб-приложений. Для установки данного инструмента вы можете выбрать подходящий VPS/VDS с тестовым периодом по следующей ссылке – https://hostinghub.ru/top/vds/trial. Рекомендую выбирать варианты с 2ГБ+ ОЗУ.

Установка CapRover

Просто запустите следующую строку, расслабьтесь и следите за процессом:

docker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover

ПРИМЕЧАНИЕ. Не изменяйте сопоставления портов. CapRover работает только на указанных портах.

После запуска команды видим кучу выводов на экране. После окончания процесса CapRover переходим на адрес:

http://[IP_OF_YOUR_SERVER]:3000

Открываем его в браузере и заходим в CapRover, используя пароль по умолчанию captain42. Позже мы сможем его изменить. Однако пока не вносим никаких изменений в панели. Для настройки будем использовать CapRover CLI.

Подключаем рутовый домен

Предположим что наш домен имеет следующий вид mydomain.com. Устанавливаем *.something.mydomain.com в качестве A-record в настройках DNS домена и указываем IP адрес сервера куда был установлен CapRover на первом шаге. Учтите, что внесенные изменения могут потребовать несколько часов для вступления в силу, пока данные распространяться в системе DNS. Настройки будет отображаться в ваших конфигурациях DNS:

  • TYPE: A record
  • HOST*.something
  • POINTS TO: (IP адрес сервера)
  • TTL: (по-умолчанию)

Установка CapRover CLI

Для установки CapRover CLI необходимо, чтобы был установлен npm, после чего запустите следующую команду:

npm install -g caprover

После завершения установки пакетов запускаем настройку сервера командой:

caprover serversetup

Следуем указаниям в консоли входим в CapRover. Когда будет предложено ввести корневой домен, введите something.mydomain.com предполагая, что ранее был установлен *.something.mydomain.com с указанием на IP адрес с предыдущего шага. Теперь мы можем заходить на сервер CapRover по адресу captain.something.mydomain.com

Настройка файл подкачки

В некоторых случаях вы можете столкнуться с проблемами из-за нехватки физической оперативной памяти. Например, при сборке образа Docker, если он начнет занимать слишком много памяти, сборка завершится ошибкой. Чтобы обойти эти проблемы (без покупки дополнительной оперативной памяти), вы можете настроить файл подкачки (который используется как виртуальная оперативная память). Как это сделать рассмотрим в другой статье.

Как деплоить приложение

Одним из ключевых компонентов CapRover является файл определения, который необходимо поместить в корне проекта. В случае приложения NodeJS это рядом с package.json или рядом с index.php в случае PHP или рядом с файлом requirements.txt для приложения на Python. Сам файл настроек CapRover – это простой JSON, например:

{
  "schemaVersion": 2,
  "templateId": "node/8.7.0"
}

Значение schemaVersion всегда равен 2, templateId — это часть, которая определяет основу, необходимую для запуска вашего приложения в формате ЯЗЫК/ВЕРСИЯ. ЯЗЫК может быть одним из следующих: node, php, python-django, ruby-rack. ВЕРСИЯ — это версия языка, который вы хотите использовать.

С CapRover у есть возможность определить свой собственный Dockerfile. С настроенным Dockerfile можно развернуть любой язык – Go, Java, .NET или что угодно! Dockerfiles довольно легко написать. Сейчас подробнее останавливаться на нюансах написания этих файлов не будем. В большинстве случаев задеплоить проект в CapRover можно и стандартным методом.

Методы развертывания

Независимо от вашего метода развертывания, убедитесь, что в вашем проекте есть файл ‘captain-definition’.

Развертывание через интерфейс командной строки

Просто запустите caprover deploy в репозитории git и следуйте инструкциям. Это лучший метод, так как это единственный метод, который сообщает вам о потенциальных сбоях сборки.

Развертывание через веб-панель

Преобразуйте содержимое вашего проекта в tar-архив (.tar), перейдите на веб-панель управления и загрузите tar-файл на вкладке Deployment проекта. Этот метод развертывания обычно используется только в целях тестирования.

Откат в один клик

Допустим, вы развернули новую версию своего приложения, но вы же понимаете, что оно глючит. Просто перейдите на вкладку Deployment и щелкните значок возврата рядом с версией, к которой вы хотите вернуться. CapRover автоматически запускает новую сборку и развертывает предыдущую версию! Обратите внимание, что это НЕ отменяет изменения, внесенные вами в переменные среды и другие конфигурации приложения, такие как постоянные каталоги и т. д. Он просто возвращает ваш образ (развернутый исходный код).

Автоматическое развертывание с использованием Github, Bitbucket и т. д.

Этот способ, пожалуй, самый удобный. CapRover автоматически запускает сборку, когда вы отправляете репозиторий в определенную ветку (например, master, staging или release). Настроить автоматическое развертывание можно на вкладке Deployment конкретного приложения. Очень удобно, не так ли.

На этом возможности CapRover не заканчиваются, но не вижу смысла их описывать тут, так как они очень подробно описаны в документации проекта.

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.