Обзор развертывания DocuSeal на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры и условия:
-
Операционная система: CentOS, Rocky Linux или AlmaLinux (для автоматической настройки брандмауэра).
-
Доступ: Права суперпользователя (
root) для управления Docker и системными директориями. -
Порты:
-
80/tcp— для HTTP трафика. -
443/tcp— для HTTPS трафика. -
443/udp— для протокола QUIC (HTTP/3).
-
FDQN итоговой панели на домене hostkey.in¶
Если не указан кастомный домен, используется стандартный шаблон:
| Параметр | Значение |
|---|---|
| Префикс | docuseal |
| Домен | hostkey.in |
| Полный шаблон | docuseal{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
Все основные файлы конфигурации и данные приложения сосредоточены в директории /opt/docuseal:
-
/opt/docuseal/compose.yml— файл описания контейнеров Docker Compose. -
/opt/docuseal/Caddyfile— конфигурационный файл веб-сервера Caddy. -
/var/lib/postgresql/data(внутри томаpostgres_data) — данные базы данных PostgreSQL. -
/data/docuseal(внутри томаdocuseal_data) — пользовательские данные приложения DocuSeal.
Процесс установки приложения¶
Развертывание выполняется путем создания необходимых директорий, генерации конфигурационных файлов (Caddyfile, compose.yml) и запуска контейнеров через Docker Compose в фоновом режиме. Приложение использует последнюю доступную версию образа docuseal/docuseal:latest.
Права доступа и безопасность¶
-
Брандмауэр: На серверах на базе CentOS, Rocky или AlmaLinux автоматически открываются порты
80и443(TCP). -
Директории: Директория
/opt/docusealсоздается с правами доступа0755, владельцем являетсяroot. -
Конфигурация: Файлы конфигурации в
/opt/docusealимеют права0644.
Базы данных¶
В качестве системы управления базами данных используется PostgreSQL 15.
-
Метод подключения: Через внутреннюю сеть Docker по адресу
postgres:5432. -
Пользователь:
postgres. -
База данных:
docuseal. -
Хранилище: Данные сохраняются в именованном томе
postgres_data.
Контейнеры Docker и их запуск¶
Приложение развернуто с использованием следующих контейнеров:
DocuSeal App¶
-
Образ:
docuseal/docuseal:latest -
Порты (expose):
3000 -
Тома (volumes):
docuseal_data:/data/docuseal -
Переменные окружения:
-
FORCE_SSL: адрес домена. -
DATABASE_URL: строка подключения к PostgreSQL.
-
-
Политика перезапуска:
always
PostgreSQL¶
-
Образ:
postgres:15 -
Тома (volumes):
postgres_data:/var/lib/postgresql/data -
Переменные окружения:
-
POSTGRES_USER:postgres -
POSTGRES_PASSWORD: заданный пароль. -
POSTGRES_DB:docuseal
-
-
Политика перезапуска:
always
Caddy (Reverse Proxy)¶
-
Образ:
caddy:latest -
Порты:
80/tcp,443/tcp,443/udp -
Тома (volumes):
-
caddy_data:/data -
caddy_config:/config -
/opt/docuseal/Caddyfile:/etc/caddy/Caddyfile:ro
-
-
Команда запуска:
caddy run --config /etc/caddy/Caddyfile -
Политика перезапуска:
unless-stopped
Обновление приложения¶
Обновление выполняется через выполнение команды pull и последующий перезапуск контейнеров:
Настройки прав¶
Все системные директории и файлы конфигурации принадлежат пользователю root и группе root. Доступ к файлам ограничен для обеспечения безопасности системы.
Расположение конфигурационных файлов и данных¶
| Тип | Путь / Имя тома |
|---|---|
| Конфигурация Docker Compose | /opt/docuseal/compose.yml |
| Конфигурация Caddy | /opt/docuseal/Caddyfile |
| Данные приложения (Volume) | docuseal_data |
| Данные базы данных (Volume) | postgres_data |
| Данные Caddy (Volume) | caddy_data, caddy_config |
Доступные порты для подключения¶
-
HTTPS:
443/tcp(через прокси Caddy). -
HTTP:
80/tcp(для перенаправления на HTTPS).
Запуск, остановка приложения¶
Управление сервисами осуществляется через Docker Compose из директории /opt/docuseal:
-
Запуск всех контейнеров:
-
Остановка всех контейнеров:
Прокси серверы¶
В качестве обратного прокси используется веб-сервер Caddy. Он автоматически управляет SSL-сертификатами и перенаправляет трафик с порта 443 на внутренний порт приложения 3000. Конфигурация проксирования определена в файле Caddyfile.