Перейти к содержанию

Обзор развертывания 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 и последующий перезапуск контейнеров:

docker compose pull && docker compose up -d

Настройки прав

Все системные директории и файлы конфигурации принадлежат пользователю 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:

  • Запуск всех контейнеров:

    docker compose up -d
    

  • Остановка всех контейнеров:

    docker compose down
    

Прокси серверы

В качестве обратного прокси используется веб-сервер Caddy. Он автоматически управляет SSL-сертификатами и перенаправляет трафик с порта 443 на внутренний порт приложения 3000. Конфигурация проксирования определена в файле Caddyfile.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×