Обзор развертывания Dokku на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры и доступ к ресурсам:
-
Операционная система: Ubuntu.
-
Права доступа: права суперпользователя (sudo) для выполнения установочных скриптов.
-
Порты:
-
443(внешний порт для HTTPS). -
Доменная зона:
hostkey.in.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к приложению используется следующий шаблон домена:
| Параметр | Значение |
|---|---|
| Префикс | dokku |
| Домен | hostkey.in |
| Полный шаблон | dokku{Server_ID}.hostkey.in |
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов:
-
Установка Dokku:
-
Загружается установочный скрипт версии
v0.34.8. -
Выполняется запуск скрипта
bootstrap.shс указанием целевой версии. -
Устанавливаются зависимости для базового функционала (core dependencies).
-
Настройка домена:
-
Приложению назначается глобальный домен на основе шаблона
dokku{Server_ID}.hostkey.in. -
Настройка проксирования и SSL:
-
Создается директория
/root/nginxдля хранения конфигурации прокси-сервера. -
Развертывается контейнер для управления сертификатами SSL (Nginx + Certbot).
Контейнеры Docker и их запуск¶
Для обеспечения работы HTTPS и автоматического получения 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 |
Инструкция по обновлению приложения¶
Для обновления Dokku необходимо выполнить обновление пакетов и запуск установочного скрипта с актуальной версией:
-
Загрузить новый установочный скрипт
bootstrap.sh. -
Выполнить команду установки:
sudo DOKKU_TAG=v0.34.8 bash /tmp/bootstrap.sh(используйте текущую актуальную версию).
Расположение конфигурационных файлов и данных¶
В системе используются следующие пути для хранения данных и настроек:
-
/root/nginx/compose.yml— конфигурационный файл Docker Compose для прокси-сервера. -
/data/nginx/user_conf.d— директория с пользовательскими конфигурациями Nginx. -
/data/nginx/nginx-certbot.env— файл переменных окружения для контейнера Nginx. -
nginx_secrets(внешний том Docker) — хранилище SSL-сертификатов Let's Encrypt.
Доступные порты для подключения¶
| Порт | Протокол | Назначение |
|---|---|---|
443 | HTTPS | Основной доступ к панели управления и приложениям через веб-интерфейс |