Обзор развертывания Dokku на сервере¶
Предварительные требования¶
Для корректной работы приложения необходимы следующие условия:
-
Операционная система: Ubuntu.
-
Права доступа: права суперпользователя (root) для выполнения установки пакетов и настройки системных файлов.
-
Доменное имя: наличие настроенного домена в зоне
hostkey.in.
FQDN итоговой панели на домене hostkey.in¶
| Параметр | Значение | | Префикс | dokku | | Домен | hostkey.in | | Полный шаблон | dokku{Server_ID_from_Invapi}.hostkey.in |
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов:
-
Настройка системного окружения:
-
В файл
/etc/hostsдобавляется запись, связывающаяlocalhostи текущее имя хоста сервера для обеспечения корректной работы установщика. -
Установка Dokku:
-
Загружается установочный скрипт
bootstrap.shверсииv0.34.8. -
Выполняется запуск скрипта установки:
DOKKU_TAG=v0.34.8 bash /tmp/bootstrap.sh. -
Конфигурация домена:
-
Устанавливается глобальный домен для Dokku на основе шаблона
dokku{Server_ID_from_Invapi}.hostkey.in. -
Установка зависимостей:
-
Выполняется команда
dokku plugin:install-dependencies --coreдля подготовки необходимых компонентов системы. -
Настройка проксирования и SSL:
-
Создается директория
/root/nginx. -
Развертывается контейнер для управления сертификатами через Docker Compose.
Контейнеры Docker и их запуск¶
Для обеспечения работы веб-сервера и автоматического получения SSL-сертификатов используется следующий контейнер:
| Параметр | Значение |
|---|---|
| Имя образа | jonasal/nginx-certbot:latest |
| Сетевой режим | host |
| Политика перезапуска | unless-stopped |
| Переменные окружения | CERTBOT_EMAIL=hkadm@hostkey.com |
| Тома (volumes) | nginx_secrets:/etc/letsencrypt/data/nginx/user_conf.d:/etc/nginx/user_conf.d |
Контейнер запускается из директории /root/nginx с использованием файла конфигурации compose.yml.
Инструкция по обновлению приложения¶
Для обновления Dokku необходимо выполнить следующие действия:
-
Обновить системные пакеты и само приложение через стандартные механизмы управления пакетами, если это предусмотрено текущей версией.
-
Для обновления компонентов Docker (nginx-certbot) необходимо перейти в директорию
/root/nginxи выполнить команды:
Расположение конфигурационных файлов и данных¶
| Тип данных | Путь к расположению |
|---|---|
| Конфигурация Nginx (пользовательские) | /data/nginx/user_conf.d |
| Данные сертификатов SSL | Том nginx_secrets |
| Файл окружения Docker | /data/nginx/nginx-certbot.env |
| Рабочая директория прокси | /root/nginx |
Доступные порты для подключения¶
- Порт
443(HTTPS) — основной порт для доступа к приложениям через защищенное соединение.