Установка на Linux¶
Требования¶
- существующий Linux-сервер с Python 3.11+,
pipx, Docker Engine и Compose plugin; - HTTPS-доступ к шине управления и возможность скачивать утверждённые пакеты;
- свободные ресурсы для PostgreSQL, Airflow, Keycloak и остальных контейнеров;
- один выбранный адрес кабинета/API, например
https://data.example.com; - код установки от оператора.
DNS и TLS-прокси клиент настраивает отдельно. Второй домен для Keycloak не нужен: вход работает по <адрес-кабинета>/auth. Прокси должен направлять весь host на локальный порт 8080 и корректно передавать X-Forwarded-*.
Получить установщик¶
Скачайте wheel 0.0.1 и файл SHA-256 в один каталог с этого сайта. Выпуск также приложен к GitHub Release installer-v0.0.1; для приватного репозитория там требуется доступ к GitHub. Затем:
sha256sum -c forsellbase_installer-0.0.1-py3-none-any.whl.sha256
pipx install ./forsellbase_installer-0.0.1-py3-none-any.whl
forsellbase install КОД_УСТАНОВКИ
В терминале установщик спросит публичный адрес и создаст первого администратора из указанного клиентом логина и скрытого пароля. Общий и клиентский пакеты скачиваются с проверкой SHA-256. После запуска Docker Compose установщик проверяет сервисы и только затем подтверждает активацию кода в шине. При сбое после получения пакетов повторите команду с тем же кодом и каталогом.
Если шина использует частный CA, добавьте --ca-file /путь/к/ca.crt. Для автоматизированной установки адрес задаётся переменной FORSELL_WEB_ORIGIN. Выбор другого каталога: forsellbase install КОД_УСТАНОВКИ /путь/к/каталогу.
После запуска¶
Откройте <адрес>/setup, войдите под первым администратором и заполните настройки источников. Проверка локального входа: GET <адрес>/auth/realms/forsell/.well-known/openid-configuration; проверка приложения: GET <адрес>/healthz.
Версии
Wheel 0.0.1 принимает общий пакет серии 0.0.x начиная с 0.0.1 и совместимые исторические пакеты от 0.3.11. Код привязан к конкретным версиям и контрольным суммам обоих пакетов. Обновление действующей установки выполняется отдельно; повторная установка в непустой каталог не заменяет процедуру обновления.