Обзор развертывания SeaTable на сервере¶
Предварительные требования и базовые условия¶
Для развертывания SeaTable требуется сервер с операционной системой на базе Debian. Перед началом установки должны быть выполнены следующие условия:
-
Операционная система: Debian или Ubuntu.
-
Привилегии: Для установки Docker и управления системными службами требуются права root или права пользователя с доступом
sudo. -
Сетевой доступ: Сервер должен иметь исходящий доступ в интернет для загрузки Docker, архива релиза SeaTable и образов контейнеров.
-
Порты: Порт
443должен быть открыт в межсетевом экране (firewall) для обеспечения HTTPS-трафика к приложению.
FQDN конечной панели¶
Приложение доступно по следующему формату полного доменного имени (FQDN):
seatable<Server ID>.hostkey.in:443
Где <Server ID> заменяется на конкретный идентификатор, назначенный экземпляру сервера.
Структура файлов и каталогов¶
Все файлы приложения, данные конфигурации и логи находятся в выделенной структуре каталогов по пути /opt/seatable-compose. Ключевые компоненты включают:
-
Базовый каталог:
/opt/seatable-compose -
Файл конфигурации:
/opt/seatable-compose/.env -
Файл лицензии:
/opt/seatable-compose/seatable-license.txt -
Файлы Compose:
caddy.ymlиseatable-server.yml(расположены в базовом каталоге) -
Архив:
/opt/seatable-compose/seatable-compose.tar.gz(загруженный исходный код)
Процесс установки приложения¶
Процесс установки включает установку Docker, загрузку последней версии релиза SeaTable и настройку переменных окружения. Приложение развертывается с использованием Docker Compose.
-
Установка Docker: Движок Docker устанавливается с помощью официального скрипта установки.
-
Загрузка релиза: Архив последней версии загружается из репозитория SeaTable на GitHub.
-
Распаковка файлов: Архив распаковывается в каталог
/opt/seatable-compose. -
Настройка окружения: Файл
.envгенерируется на основе.env-releaseи обновляется конкретными параметрами сервера. -
Запуск контейнеров: Приложение запускается с помощью команды
docker compose up -d.
Для развертывания используется конкретный образ seatable/seatable-developer:latest.
Базы данных¶
SeaTable использует внутренние контейнеры для потребностей базы данных и кэширования. Параметры конфигурации для этих служб определяются в файле .env:
-
Тип базы данных: MariaDB
-
Тип кэша: Redis
-
Конфигурация: Пароли для MariaDB и Redis устанавливаются через переменные окружения (
MARIADB_PASSWORDиREDIS_PASSWORD). -
Хранилище: Сохранение данных (persistence) обеспечивается с помощью томов Docker, управляемых в рамках структуры каталогов
/opt/seatable-compose.
Контейнеры Docker и их развертывание¶
Приложение развертывается с использованием Docker Compose. Развертывание координирует работу нескольких контейнеров, определенных в двух основных файлах:
-
caddy.yml -
seatable-server.yml
Переменная окружения COMPOSE_FILE установлена в значение 'caddy.yml,seatable-server.yml', а COMPOSE_PATH_SEPARATOR установлена в ',', чтобы обеспечить корректную обработку обоих файлов.
Для запуска приложения из каталога /opt/seatable-compose выполняется следующая команда:
Прокси-серверы¶
В развертывание входит контейнер Caddy, выполняющий роль обратного прокси-сервера. Caddy обрабатывает завершение SSL и маршрутизацию для приложения SeaTable.
-
ПО прокси-сервера: Caddy
-
SSL/TLS: Управляется автоматически Caddy.
-
Внешний порт:
443 -
Конфигурация имени хоста: Переменная
SEATABLE_SERVER_HOSTNAMEустановлена в конкретное FQDN (seatable<Server ID>.hostkey.in).
Настройки разрешений¶
Скрипт развертывания обеспечивает следующие настройки разрешений:
-
Рабочий каталог
/opt/seatable-composeсоздается со стандартными правами доступа к каталогам. -
Загруженный архив
seatable-compose.tar.gzустанавливается с правами доступа0644. -
Файл
seatable-license.txtсоздается как пустой файл. -
Контейнеры Docker работают с разрешениями, определенными в соответствующих образах и конфигурациях compose.
Расположение файлов конфигурации и данных¶
Все критически важные файлы конфигурации и данные централизованы в каталоге /opt/seatable-compose.
| Файл/Каталог | Путь | Описание |
|---|---|---|
| Конфигурация окружения | /opt/seatable-compose/.env | Содержит все переменные времени выполнения, включая имена хостов, пароли и теги образов. |
| Файл лицензии | /opt/seatable-compose/seatable-license.txt | Заглушка для лицензии SeaTable. |
| Определения Compose | /opt/seatable-compose/caddy.yml | Определяет контейнер прокси-сервера Caddy. |
| Определения Compose | /opt/seatable-compose/seatable-server.yml | Определяет контейнеры сервера SeaTable и базы данных. |
| Тома данных | /opt/seatable-compose | Тома Docker для постоянных данных управляются относительно этого пути. |
Доступные порты для подключения¶
Приложение открывает следующий порт для внешнего доступа:
- Порт 443: HTTPS-трафик для веб-интерфейса SeaTable.
Запуск, остановка и обновление¶
Управление службами выполняется с помощью команд Docker Compose, запускаемых из каталога /opt/seatable-compose.
-
Запуск приложения:
-
Остановка приложения:
-
Обновление приложения: Для обновления до последней версии необходимо повторно загрузить архив и перезапустить контейнеры. Текущий скрипт развертывания обрабатывает загрузку последней версии с адреса
https://github.com/seatable/seatable-release/releases/latest/download/seatable-compose.tar.gz. После обновления файлов выполните: