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

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

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

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

  • Операционная система: Ubuntu или Debian.

  • Права доступа: права суперпользователя (root).

  • Порты: открытый порт 443 для внешнего доступа (HTTPS).

  • Зависимости: наличие установленного curl.

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

Для доступа к интерфейсу приложения используется следующий шаблон доменного имени:

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

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

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

  • /opt/seatable-compose/ — основная рабочая директория.

  • /opt/seatable-compose/.env — файл с переменными окружения и настройками доступа.

  • /opt/seatable-compose/seatable-license.txt — файл лицензии (создается пустым).

  • /opt/seatable-compose/caddy.yml — конфигурация прокси-сервера Caddy.

  • /opt/seatable-compose/seatable-server.yml — конфигурация сервисов SeaTable.

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

Установка выполняется путем автоматизированного развертывания через Docker Compose. Основные этапы процесса:

  1. Обновление системных пакетов APT.

  2. Установка вспомогательного пакета curl.

  3. Установка и настройка среды Docker.

  4. Создание рабочей директории /opt/seatable-compose.

  5. Загрузка последнего стабильного релиза SeaTable в формате .tar.gz с GitHub.

  6. Распаковка архива в рабочую директорию.

  7. Инициализация файла конфигурации .env на основе шаблона .env-release.

  8. Автоматическая настройка параметров в .env:

  9. Установка часового пояса сервера.

  10. Настройка доменного имени (hostname).

  11. Генерация и запись учетных данных администратора (admin@admin.com).

  12. Генерация сложных паролей для базы данных MariaDB, Redis и ключей безопасности (JWT, Secret Key).

  13. Создание пустого файла лицензии seatable-license.txt.

  14. Запуск контейнеров через команду docker compose up -d.

Используемая версия образа: seatable/seatable-developer:6.2.1.

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

Безопасность системы обеспечивается следующими механизмами:

  • Использование уникальных, случайно сгенерированных паролей для всех внутренних компонентов (база данных, Redis).

  • Применение сложных ключей шифрования (JWT_PRIVATE_KEY и SECRET_KEY).

  • Ограничение доступа к веб-интерфейсу через HTTPS.

Базы данных

Приложение использует встроенную базу данных MariaDB для хранения структурированных данных.

  • Пароль БД: генерируется автоматически при установке.

  • Хранение: данные управляются внутри Docker-контейнера и защищены переменными окружения.

Также используется Redis для управления сессиями и кэшированием, доступ к которому ограничен паролем.

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

Приложение развертывается в составе группы контейнеров, управляемых через docker compose. Основные компоненты:

Имя образа Назначение Особенности
seatable/seatable-developer:6.2.1 Основной сервер SeaTable Использует переменные из .env, включая часовой пояс и домен
Контейнер MariaDB База данных Защищена паролем, заданным в .env
Контейнер Redis Кэширование/Сессии Защищен паролем, заданным в .env
Caddy (через caddy.yml) Прокси-сервер и SSL Обеспечивает работу по протоколу HTTPS на порту 443

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

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

  1. Перейти в рабочую директорию:

    cd /opt/seatable-compose
    

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

    docker compose pull && docker compose up -d
    

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