Обзор развертывания CapRover на сервере¶
Предпосылки и предварительные требования¶
Для успешного развертывания приложения необходимо выполнить следующие условия:
- Операционная система: Debian или совместимая дистрибуция Linux.
- Наличие прав суперпользователя (root) или доступа через
sudoдля выполнения команд установки. - Доступ к интернету для обновления пакетов и загрузки образов контейнеров.
- Открытые порты
80,443и3000на брандмауэре сервера для приема входящих соединений. - Наличие настроенной DNS-зоны для создания записи типа
Aс подстановочным знаком (*).
Процесс установки приложения¶
Установка приложения выполняется в несколько этапов, включающих подготовку системы и запуск контейнера:
- Обновление кэша пакетов и установка всех доступных обновлений системы с помощью менеджера пакетов
apt. - Установка платформы контейнеризации Docker на сервер.
- Развертывание приложения CapRover версии, указанной в образе
caprover/caprover, через запуск контейнера Docker.
Команда запуска контейнера включает следующие параметры: - Перенаправление портов 80, 443 и 3000 с хоста на контейнер. - Переменная окружения ACCEPTED_TERMS установлена в значение true для автоматического принятия условий использования. - Монтирование сокета Docker /var/run/docker.sock внутрь контейнера для управления другими контейнерами. - Монтирование директории /captain на сервере в точку монтирования /captain внутри контейнера для хранения данных.
Контейнеры Docker и их запуск¶
Приложение работает в виде одного основного контейнера, который управляет остальной инфраструктурой. Запуск осуществляется следующей командой:
docker run -p 80:80 -p 443:443 -p 3000:3000 -e ACCEPTED_TERMS=true -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover
Параметры запуска: - -p 80:80: Открытие HTTP-порта. - -p 443:443: Открытие HTTPS-порта. - -p 3000:3000: Открытие порта для веб-интерфейса управления. - -e ACCEPTED_TERMS=true: Принятие условий использования. - -v /var/run/docker.sock:/var/run/docker.sock: Предоставление доступа к демонстрационному процессу Docker. - -v /captain:/captain: Сохранение данных приложения в директории /captain.
Структура файлов и каталогов¶
Данные приложения и конфигурация хранятся в следующих местах:
/captain: Директория на хосте, где сохраняются все данные развертывания, включая конфигурации приложений и базы данных./var/run/docker.sock: Сокет Docker, необходимый для работы приложения с контейнерами.
Права доступа и безопасность¶
Для корректной работы приложения требуются следующие настройки безопасности:
- Брандмауэр должен разрешать входящий трафик на порты
80,443и3000. - Контейнер запускается с привилегиями, позволяющими управлять Docker-демоном через монтирование сокета.
- Доступ к веб-интерфейсу осуществляется через доменное имя, для которого создается запись DNS типа
Aс подстановочным знаком.
Базы данных¶
База данных для приложения CapRover хранится внутри контейнера и синхронизируется с директорией /captain на хосте. Конфигурация подключения к базе данных управляется автоматически через переменные окружения и файлы конфигурации внутри контейнера.
Запуск, остановка и обновление¶
Управление контейнером осуществляется стандартными командами Docker:
- Запуск контейнера выполняется командой, указанной в разделе "Контейнеры Docker и их запуск".
- Остановка контейнера:
- Перезапуск контейнера:
- Обновление образа приложения: После обновления образа необходимо остановить текущий контейнер и запустить новый с теми же параметрами.