Как установить CapRover

Ранее на нашем сайте мы уже разбирали процесс установки Cloudron и YunoHost. Это прекрасные self-hosted платформы, построенные на максимальном упрощении администрирования веб-приложений. Если же вы готовы пойти на компромисс и потратить немного больше времени со своим сервером, CapRover точно придётся вам по душе. Сегодня же мы постараемся ответить на вопрос о том, как установить CapRover.

Без лишних слов, приступим!

Подготовка

Компьютер/сервер

Для CapRover подойдёт любое железо/VPS на процессоре AMD64 (X86), ARM64 или ARMV7 и по крайней мере с 1 ГБ доступной оперативной памяти. Но имейте в виду, что для установки большого количества приложений этого объёма недостаточно. Также официальные гайды советуют устанавливать CapRover на Ubuntu 18.04 из-за некоторых проблем с совместимостью Docker. Мы же немного нарушим правила и воспользуемся Ubuntu 20.04, но на то есть причины:

  1. Официальная поддержка 18.04 закончится уже в следующем году;
  2. Мне уже удалось протестировать такой вариант работы CapRover на личном домашнем сервере в течение полугода, и каких-то проблем в эксплуатации машины не возникало.

Небольшой гайд по установке системы можно найти в нашей статье Установка Ubuntu Server 20.04 LTS.

Домен

Как и в случае с Cloudron Вам необходимо приобрести собственный домен. Так как c момента привязки домена к IP-адресу вашего сервера пройдёт как минимум до 24 часов, советую закончить этот этап заранее.

Настройка фаервола

Перед установкой CapRover также необходимо убедиться, что фаервол системы не блокирует необходимые нам порты. Нам потребуется:

  • 80 TCP для HTTP соединения
  • 443 TCP для защищённого HTTPS соединения
  • 3000 TCP для первичной установки CapRover (может быть заблокирован после привязки домена)
  • 7946 TCP/UDP для Container Network Discovery
  • 4789 TCP/UDP для Container Overlay Network
  • 2377 TCP/UDP для Docker swarm API
  • 996 TCP для защищённого HTTPS соединения к Docker Registry

Обычно встроенный в Ubuntu фаервол включен по умолчанию. Его работоспособность можно проверить командой ufw status.

Для разблокировки нужных портов используем следующие команды:

sudo ufw allow 80,443,3000,996,7946,4789,2377/tcp
sudo ufw allow 7946,4789,2377/udp

А теперь перейдём к установке основных компонентов CapRover.

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

В отличие от других self-hosted платформ, CapRover не устанавливает Docker самостоятельно, поэтому нам потребуется подготовить Docker Community Edition заранее.

  1. Обновляем локальную базу данных пакетов apt и устанавливаем требуемые зависимости:
sudo apt-get update

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  1. Добавляем GPG ключ:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. Определяем репозиторий со стабильной версией Docker:
echo \
  "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/null
  1. Снова обновляем локальную базу apt и устанавливаем Docker:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. Проверяем корректность установки Docker запуском тестового контейнера:
sudo docker run hello-world

Если всё прошло успешно, в терминале появится приветственное сообщение.

Шаг 2. Установка CapRover

После того, как все приготовления были закончены, можно установить 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 по адресу http://[IP_АДРЕС_СЕРВЕРА]:3000, используя пароль captain42. Однако не стоит приступать к установке приложений, а также менять пароль (вы можете сделать это позднее), нам потребуется ещё один шаг, чтобы начать полноценно пользоваться платформой.

Шаг 3. Настройка при помощи CapRover CLI

Данный шаг можно выполнить как на вашем сервере через SSH, так и на совершенно другом компьютере. Мы будем использовать первый способ.

Устанавливаем CapRover CLI из npm командой:

npm i -g caprover

А следом запускаем программу настройки CapRover:

caprover serversetup

Программа установки задаст вам несколько вопросов. Стандартный вывод будет выглядеть следующим образом:

Setup CapRover machine on your server...

? have you already started CapRover container on your server? Yes
? IP address of your server: [yourIPAddress]
? CapRover server root domain: [yourDomainName].com
? new CapRover password (min 8 characters): [hidden]
? enter new CapRover password again: [hidden]
? "valid" email address to get certificate and enable HTTPS: [your@email.com]
? CapRover machine name, with whom the login credentials are stored locally: [yourCustomCapRoverMachineName]

CapRover server setup completed: it is available as [yourCustomCapRoverMachineName] at https://captain.[yourDomainName].com

For more details and docs see CapRover.com

Остановимся подробнее о том, что необходимо указать в процессе настройки:

  1. Have you already started CapRover container on your server? – по умолчанию отвечаем Yes;
  2. `IP address of your server – здесь необходимо указать публичный IP адрес сервера;
  3. CapRover server root domain – указываем ранее приобретённый домен. Если вы укажете что-то вроде exemple.ru, Панель управления CapRover будет доступна по адресу captain.example.ru;
  4. new CapRover password (min 8 characters) – на этом и следующем вопросе вводим новый пароль для доступа к Панели управления;

Не стесняйтесь указать действительно длинный и сложный пароль. Это важно, так как CapRover не предоставляет двухфакторную аутентификацию. Чем сложнее будет подобрать ваш пароль, тем меньше шансов, что кто-то сможет получить доступ к Панели управления.

  1. "valid" email address to get certificate and enable HTTPS – для получения сертификатов Let’s Encrypt необходимо указать ваш действующий адрес электронной почты;

Ни в коем случае не указывайте несуществующий адрес. В противном случае, вы не сможете получать уведомления о необходимости продления сертификатов или в том случае, если автоматическое продление не сработало.

  1. CapRover machine name, with whom the login credentials are stored locally – любое удобное наименование вашему серверу с установленным CapRover.

Если вы обеспокоились покупкой домена и привязкой его к серверу заранее, никаких проблем возникнуть не должно. В будущем все приложения будут устанавливаться по адресу *.example.ru, а сертификаты для них сгенерируются автоматически.

Итог

Вы успешно установили CapRover и готовы устанавливать свои первые приложения. Но прежде, чем продолжить я также советую вам проделать следующее:

  1. Активировать NetData из Панели управления. Это позволит следить за работой Вашей машины, а также потреблением ресурсов.
  2. Установить Fail2Ban на сервер и отключить доступ к root при помощи пароля. Это обеспечит дополнительную безопасность не только CapRover, но и серверу в целом.

Также не стоит затягивать с настройкой резервных копий как самой платформы, так и данных Docker контейнеров.


Автор: Владислав Лищенко / HomeHosted.ru

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *