Обзор развертывания Dokku на сервере¶
Предварительные требования и базовые условия¶
-
Операционная система: Ubuntu
-
Привилегии: Для выполнения команд установки и управления требуются права root или привилегии
sudo. -
Домен: Запись DNS должна указывать на сконфигурированное доменное имя приложения.
-
Порты: Порт
443(HTTPS) является назначенным внешним портом для входящего трафика.
FQDN финальной панели управления¶
Приложение доступно через Полно Квалифицированное Доменное Имя (FQDN), сформированное по следующему шаблону: <prefix><Server ID>.hostkey.in:443
Исходя из параметров конфигурации:
-
Зона:
hostkey.in -
Префикс:
dokku -
Пример FQDN:
dokku<Server ID>.hostkey.in
Процесс установки приложения¶
Приложение развертывается с использованием официального скрипта запуска Dokku с фиксированной версией для обеспечения согласованности.
-
Версия:
v0.34.8 -
Скрипт установки:
bootstrap.sh -
Шаги установки:
-
Загрузите скрипт запуска в
/tmp/bootstrap.shиз официального репозитория Dokku. -
Выполните установку с помощью следующей команды:
-
Установите глобальный домен для экземпляра Dokku:
-
Установите основные зависимости для окружения Dokku:
Контейнеры Docker и их развертывание¶
Обратный прокси-сервер и управление SSL-сертификатами обрабатываются контейнерами Docker, оркестрируемыми через Docker Compose.
-
Директория:
/root/nginx -
Файл оркестрации:
compose.yml -
Образ контейнера:
jonasal/nginx-certbot:latest -
Команда развертывания:
Эта команда выполняется в директории/root/nginx.
Конфигурация контейнера¶
Настройка Docker Compose включает следующие спецификации:
| Параметр | Значение / Описание |
|---|---|
| Имя сервиса | nginx |
| Образ | jonasal/nginx-certbot:latest |
| Политика перезапуска | unless-stopped |
| Режим сети | host |
| Переменная окружения | CERTBOT_EMAIL=hkadm@hostkey.com |
| Файл окружения | /data/nginx/nginx-certbot.env |
| Привязки томов | - nginx_secrets смонтирован в /etc/letsencrypt- /data/nginx/user_conf.d смонтирован в /etc/nginx/user_conf.d |
Прокси-серверы¶
Контейнер nginx-certbot служит обратным прокси-сервером, обеспечивая завершение соединений HTTPS и управление SSL-сертификатами через Let's Encrypt.
-
Директория конфигурации прокси:
/etc/nginx/user_conf.d(смонтировано из/data/nginx/user_conf.d) -
Расположение SSL-сертификатов:
/etc/letsencrypt(смонтировано из томаnginx_secrets) -
Email сертификата:
hkadm@hostkey.com -
Внешний порт:
443 -
Внутреннее сопоставление пути:
/
Настройки разрешений¶
Определенные директории настроены с заданным владением и правами доступа для обеспечения корректной работы сервисов:
-
Директория:
/root/nginx -
Владелец:
root -
Группа:
root -
Режим:
0755 -
Файл:
/root/nginx/compose.yml -
Владелец:
root -
Группа:
root -
Режим:
0644
Расположение файлов конфигурации и данных¶
-
Конфигурация домена Dokku: Управляется глобально через команду
dokku domains:set-global. -
Файл Docker Compose:
/root/nginx/compose.yml -
Директория пользовательской конфигурации Nginx:
/data/nginx/user_conf.d -
Переменные окружения Certbot:
/data/nginx/nginx-certbot.env -
Том с секретами SSL: Сопоставлен с
/etc/letsencryptвнутри контейнера.
Доступные порты для подключения¶
- Порт
443: Защищенный трафик HTTPS для приложения Dokku и прокси-сервера.