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

Обзор развертывания 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.

  1. Установка Docker: Движок Docker устанавливается с помощью официального скрипта установки.

  2. Загрузка релиза: Архив последней версии загружается из репозитория SeaTable на GitHub.

  3. Распаковка файлов: Архив распаковывается в каталог /opt/seatable-compose.

  4. Настройка окружения: Файл .env генерируется на основе .env-release и обновляется конкретными параметрами сервера.

  5. Запуск контейнеров: Приложение запускается с помощью команды 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 выполняется следующая команда:

docker compose up -d

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

В развертывание входит контейнер 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.

  • Запуск приложения:

    cd /opt/seatable-compose
    docker compose up -d
    

  • Остановка приложения:

    cd /opt/seatable-compose
    docker compose down
    

  • Обновление приложения: Для обновления до последней версии необходимо повторно загрузить архив и перезапустить контейнеры. Текущий скрипт развертывания обрабатывает загрузку последней версии с адреса https://github.com/seatable/seatable-release/releases/latest/download/seatable-compose.tar.gz. После обновления файлов выполните:

    cd /opt/seatable-compose
    docker compose up -d
    

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