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

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

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

Для успешного развертывания приложения необходимо наличие сервера с операционной системой Debian или её производными. Требуется наличие прав суперпользователя (root) или учетной записи с правами sudo для выполнения команд установки и управления сервисами.

Необходимые условия перед началом установки: - Доступ к интернету для загрузки пакетов и образов контейнеров. - Наличие свободного порта для работы веб-сервера (по умолчанию используется порт 80 и 443 для Caddy). - Установленная версия Docker Engine.

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

Все файлы приложения, конфигурации и данные размещаются в каталоге /opt/seatable-compose.

Основные компоненты структуры: - /opt/seatable-compose — корневая директория развертывания. - /opt/seatable-compose/.env — файл конфигурации переменных окружения, создается на основе шаблона .env-release. - /opt/seatable-compose/caddy.yml — файл конфигурации для прокси-сервера Caddy. - /opt/seatable-compose/seatable-server.yml — файл конфигурации для основного сервиса Seatable. - /opt/seatable-compose/seatable-license.txt — файл лицензии (создается пустым). - /opt/seatable-compose/seatable-compose.tar.gz — архив с исходными файлами развертывания.

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

Установка приложения выполняется путем загрузки архива с последней версией релиза и его распаковки в целевую директорию.

Последовательность действий: 1. Обновление кэша пакетов APT. 2. Установка пакета curl. 3. Установка Docker Engine с использованием официального скрипта установки. 4. Создание рабочей директории /opt/seatable-compose. 5. Скачивание архива seatable-compose.tar.gz с репозитория GitHub. 6. Распаковка архива в директорию /opt/seatable-compose. 7. Копирование файла .env-release в .env, если файл .env отсутствует.

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

Приложение развертывается с использованием Docker Compose. Конфигурация контейнеров описана в файлах caddy.yml и seatable-server.yml.

Переменные окружения в файле .env настраиваются следующим образом: - COMPOSE_FILE указывает на список файлов конфигурации: caddy.yml,seatable-server.yml. - COMPOSE_PATH_SEPARATOR устанавливается в значение , для разделения файлов. - TIME_ZONE автоматически подставляется из системного файла /etc/timezone. - SEATABLE_SERVER_HOSTNAME задает доменное имя сервера. - SEATABLE_ADMIN_EMAIL и SEATABLE_ADMIN_PASSWORD задают учетные данные администратора. - MARIADB_PASSWORD и REDIS_PASSWORD содержат пароли для баз данных и кэша. - JWT_PRIVATE_KEY содержит приватный ключ для токенов. - SEATABLE_IMAGE указывает на образ seatable/seatable-developer:latest.

Запуск контейнеров осуществляется командой:

docker compose up -d
Команда выполняется в директории /opt/seatable-compose.

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

В конфигурации используется прокси-сервер Caddy, который описан в файле caddy.yml. Он отвечает за обработку входящих HTTP/HTTPS запросов и перенаправление их на контейнер Seatable.

Настройка домена и SSL сертификатов происходит автоматически через переменную SEATABLE_SERVER_HOSTNAME в файле .env. Caddy автоматически запрашивает и обновляет сертификаты для указанного домена.

Базы данных

Приложение использует следующие компоненты для хранения данных: - База данных MariaDB для хранения основных данных приложения. Пароль для подключения задается в переменной MARIADB_PASSWORD. - Кэш Redis для временного хранения сессий и кэширования. Пароль для подключения задается в переменной REDIS_PASSWORD.

Данные баз данных хранятся внутри контейнеров Docker, использующих тома (volumes) для персистентности, конфигурация которых содержится в файлах docker-compose.

Запуск, остановка и обновление

Управление сервисом осуществляется через команды Docker Compose в директории /opt/seatable-compose.

Команды управления: - Запуск контейнеров в фоновом режиме:

docker compose up -d
- Остановка контейнеров:
docker compose down
- Перезапуск контейнеров:
docker compose restart
- Просмотр логов:
docker compose logs -f

Обновление приложения до последней версии требует повторного скачивания архива seatable-compose.tar.gz, его распаковки и перезапуска контейнеров командой docker compose up -d.

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