Обзор развертывания SeaTable на сервере¶
Предварительные требования и базовые условия¶
-
Операционная система: Дистрибутив Linux на базе Debian.
-
Права доступа: Для установки пакетов и управления службами Docker требуются права root или доступ через
sudo. -
Зависимости:
-
curl: Необходим для загрузки скрипта установки Docker и архива релиза SeaTable. -
Docker: Устанавливается через официальный скриптget.docker.com. -
Docker Compose: Управляется в рамках установки Docker.
-
-
Сеть: Сервер должен иметь исходящий доступ в интернет для загрузки скрипта установки Docker и пакета релиза SeaTable.
Конфигурация FQDN¶
Приложение настроено на доступ через конкретное доменное имя полностью (Fully Qualified Domain Name — FQDN) в зоне hostkey.in.
-
Доменная зона:
hostkey.in -
Префикс имени хоста:
seatable -
Формат:
seatable<Server ID>.hostkey.in -
Внешний порт:
443(HTTPS)
Конечный доступный URL будет соответствовать шаблону seatable<Server ID>.hostkey.in:443.
Структура файлов и каталогов¶
Файлы приложения, конфигурация и данные находятся в следующей структуре каталогов:
-
Корневой каталог установки:
/opt/seatable-compose -
Конфигурация окружения:
/opt/seatable-compose/.env -
Файлы Docker Compose:
-
/opt/seatable-compose/caddy.yml -
/opt/seatable-compose/seatable-server.yml
-
-
Расположение архива:
/opt/seatable-compose/seatable-compose.tar.gz(исходный архив, может оставаться после распаковки) -
Файл лицензии:
/opt/seatable-compose/seatable-license.txt
Процесс установки приложения¶
Развертывание использует настройку Docker Compose, полученную из последней версии релиза SeaTable.
-
Обновление пакетов: Система обновляет кэш пакетов APT.
-
Установка Docker: Docker устанавливается путем выполнения официального скрипта установки через
curl. -
Создание директории: Рабочий каталог
/opt/seatable-composeсоздается. -
Загрузка архива: Архив с последней версией релиза SeaTable загружается из
https://github.com/seatable/seatable/releases/latest/download/seatable-compose.tar.gzв рабочий каталог. -
Распаковка: Архив распаковывается в рабочий каталог.
-
Инициализация конфигурации:
-
Если файл окружения
.envотсутствует, по умолчанию создается путем копирования файла.env-releaseв.env. -
Часовой пояс автоматически определяется от хоста (
/etc/timezone) и устанавливается в файле.env. -
В файл
.envзаписываются учетные данные безопасности (адрес электронной почты и пароль администратора, пароль базы данных, пароль Redis, ключ JWT) и имя хоста сервера. -
Образ Docker явно устанавливается как
seatable/seatable-developer:latest.
-
Контейнеры Docker и их развертывание¶
Приложение запускается внутри контейнеров Docker, управляемых Docker Compose.
-
Версия образа:
seatable/seatable-developer:latest -
Файлы Compose: Развертывание использует два конкретных файла, определенных в окружении:
-
caddy.yml: Отвечает за обратный прокси-сервер и завершение SSL-сессий. -
seatable-server.yml: Определяет службы приложения SeaTable, базу данных и кэш.
-
-
Выполнение: Контейнеры запускаются и управляются с помощью команды
docker compose up -dиз каталога/opt/seatable-compose.
Серверы прокси¶
Развертывание включает интегрированный обратный прокси-сервер для обработки SSL-завершения и маршрутизации.
-
ПО прокси-сервера: Caddy
-
Конфигурация: Описана в
/opt/seatable-compose/caddy.yml -
SSL/TLS: Автоматически управляется Caddy как часть стека контейнеров.
-
Внешний порт: Трафик принимается на порту
443.
Доступные порты для подключения¶
Для внешнего доступа конфигурируется следующий порт:
| Протокол | Порт | Назначение |
|---|---|---|
| HTTPS | 443 | Защищенный веб-доступ к панели управления SeaTable |
Запуск, остановка и обновление¶
Управление службами выполняется через Docker Compose в каталоге установки.
-
Запуск/Перезапуск:
-
Остановка:
-
Обновление: Для обновления до последней версии developer-сборки:
-
Остановите текущие контейнеры:
docker compose down -
Загрузите новые образы:
docker compose pull -
Перезапустите контейнеры:
docker compose up -d
-
Детали конфигурации окружения¶
Основные параметры конфигурации хранятся в файле /opt/seatable-compose/.env. В таблице ниже приведено краткое описание критических настроек, применяемых во время развертывания:
| Параметр | Описание | Источник/Значение |
|---|---|---|
COMPOSE_FILE | Список файлов Compose для загрузки | caddy.yml,seatable-server.yml |
COMPOSE_PATH_SEPARATOR | Разделитель для списка файлов | , |
TIME_ZONE | Часовой пояс сервера | Автоматически определен из /etc/timezone |
SEATABLE_SERVER_HOSTNAME | FQDN для приложения | seatable<Server ID>.hostkey.in |
SEATABLE_ADMIN_EMAIL | Адрес электронной почты учетной записи администратора по умолчанию | admin@admin.com |
SEATABLE_ADMIN_PASSWORD | Пароль учетной записи администратора по умолчанию | Определен в переменных развертывания |
MARIADB_PASSWORD | Пароль базы данных MariaDB | Определен в переменных развертывания |
REDIS_PASSWORD | Пароль кэша Redis | Определен в переменных развертывания |
JWT_PRIVATE_KEY | Приватный ключ для подписи JWT | Определен в переменных развертывания |
SEATABLE_IMAGE | Тег образа Docker | seatable/seatable-developer:latest |
Базы данных¶
Приложение зависит от следующих компонентов постоянного хранения данных, управляемых как контейнеры Docker:
-
Основная база данных: MariaDB
- Учетные данные подключения хранятся в переменной окружения
MARIADB_PASSWORD.
- Учетные данные подключения хранятся в переменной окружения
-
Кэш: Redis
- Учетные данные подключения хранятся в переменной окружения
REDIS_PASSWORD.
- Учетные данные подключения хранятся в переменной окружения
-
Хранилище: Данные сохраняются в томах Docker, управляемых автоматически конфигурацией
docker compose.
Права доступа и безопасность¶
-
Права доступа к файлам: Каталог установки
/opt/seatable-composeсоздается со стандартными системными правами доступа. Файл.envи файлы конфигурации Docker сохраняют права доступа, установленные в процессе распаковки и модификации. -
Аутентификация:
-
Система обеспечивает защиту паролем базы данных MariaDB и кэша Redis.
-
Для управления сеансами генерируется и устанавливается уникальный ключ
JWT_PRIVATE_KEY. -
Учетная запись администратора по умолчанию создается с адресом электронной почты
admin@admin.com.
-