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

Обзор развертывания DocuSeal на сервере

Предварительные требования

Для корректной работы приложения необходимы следующие условия:

  • Операционная система: CentOS, Rocky Linux или AlmaLinux (для автоматической настройки брандмауэра).

  • Права доступа: права суперпользователя (root) для установки Docker и управления системными директориями.

  • Сетевые доступы: открытые порты 80 (HTTP) и 443 (HTTPS) по протоколу TCP.

FDQN итоговой панели на домене hostkey.in

Если не указан кастомный домен, используется стандартный шаблон:

Параметр Значение
Префикс docuseal
Домен hostkey.in
Полный шаблон docuseal{Server_ID}.hostkey.in

Структура файлов и каталогов

Все основные файлы конфигурации и данные приложения сосредоточены в директории /opt/docuseal:

  • /opt/docuseal/compose.yml — файл конфигурации Docker Compose.

  • /opt/docuseal/Caddyfile — конфигурационный файл веб-сервера Caddy.

  • docuseal_data — том для хранения данных приложения.

  • postgres_data — том для хранения базы данных PostgreSQL.

  • caddy_data — том для данных SSL-сертификатов.

  • caddy_config — том для конфигураций Caddy.

Процесс установки приложения

Развертывание выполняется с использованием Docker Compose и включает следующие этапы:

  1. Подготовка окружения: Создание рабочей директории /opt/docuseal с правами доступа 0755.

  2. Настройка веб-сервера: Генерация конфигурационного файла Caddyfile для управления SSL и проксированием трафика.

  3. Создание томов: Инициализация внешних Docker-томов: docuseal_data, postgres_data, caddy_data и caddy_config.

  4. Запуск контейнеров: Развертывание стека приложений через команду docker compose up -d из директории /opt/docuseal.

Права доступа и безопасность

  • Брандмауэр: В системах на базе Red Hat (CentOS, Rocky, AlmaLinux) автоматически открываются порты 80/tcp и 443/tcp.

  • Безопасность данных: Контейнеры работают в изолированной сети Docker; доступ к портам приложения ограничен через прокси-сервер Caddy.

Базы данных

В качестве системы управления базами данных используется PostgreSQL 15.

  • Имя базы данных: docuseal.

  • Пользователь: postgres.

  • Метод подключения: Приложение подключается к базе по имени сервиса postgres через внутреннюю сеть Docker.

  • Хранение: Данные БД персистентны и хранятся в томе postgres_data.

Контейнеры Docker и их запуск

Приложение развернуто в виде стека из трех контейнеров:

Контейнер приложения (app)

  • Имя образа: docuseal/docuseal:latest

  • Порты: Экспортирует порт 3000 внутри сети.

  • Тома: docuseal_data:/data/docuseal

  • Переменные окружения: FORCE_SSL, DATABASE_URL.

  • Политика перезапуска: always.

Контейнер базы данных (postgres)

  • Имя образа: postgres:15

  • Тома: postgres_data:/var/lib/postgresql/data

  • Переменные окружения: POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB.

  • Политика перезапуска: always.

Контейнер веб-сервера (caddy)

  • Имя образа: caddy:latest

  • Порты: 80:80, 443:443, 443:443/udp

  • Тома:

  • caddy_data:/data

  • caddy_config:/config

  • /opt/docuseal/Caddyfile:/etc/caddy/Caddyfile:ro (монтирование конфига в режиме "только чтение").

  • Политика перезапуска: unless-stopped.

Инструкция по обновлению приложения

Для обновления основного приложения необходимо выполнить следующие действия:

  1. Перейти в директорию с конфигурацией:

    cd /opt/docuseal
    

  2. Подтянуть новые версии образов и перезапустить контейнеры:

    docker compose pull && docker compose up -d
    

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