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

Установка AW на один сервер

Системные требования

Убедитесь в том что подготовленные сервера удовлетворяют системным требованиям:

Установка зависимостей

Для работы AW необходимо установить компоненты Docker и docker compose согласно документации

Конфигурирование операционной системы

Для корректной работы СУБД ClickHouse необходимо увеличить значение параметра "vm.max_map_count". Внесите изменения в файле /etc/sysctl.conf, затем перезапустите службу командой sudo sysctl -p:

vm.max_map_count=262144

Установка приложения

Для установки приложения выполните следующие действия:

  1. Скопируйте дистрибутив Системы на сервер и разархивируйте его:

    mkdir -p /opt/aw/app
    mv release-версия_релиза.tar /opt/aw/app
    cd /opt/aw/app
    tar -xvf release-версия_релиза.tar
    
    Файл дистрибутива можно удалить, если есть дефицит дискового пространства

  2. Скопируйте шаблон файла конфигурации .env.dist в файл конфигурации .env:

    cd /opt/aw/app
    cp .env.dist .env
    
    При работе Системы файл .env.dist не используется, он служит только шаблоном для файла .env.

  3. В случае необходимости внесите изменения в файл конфигурации .env.

    Адрес Системы:FRONTEND_URL;

  4. Выполните загрузку docker - образов компонентов системы.

    Для закрытого контура: Перейдите в каталог Системы и выполните скрипт ./install.sh:

    cd /opt/aw/app
    chmod +x install.sh
    ./install.sh
    

    Для открытого контура (если предоставлен доступ к registry): Подключите Docker Registry:

    docker login registry.analyticworkspace.ru
    
    Отобразится запрос о необходимости ввести учетную запись. Введите данные учетной записи, ранее использованной для скачивания дистрибутива далее выполните загрузку образов:
    docker compose pull
    
    Перейдите в каталог Системы и выполните скрипт ./create_project_dirs.sh
    cd /opt/aw/app
    chmod +x create_project_dirs.sh
    ./create_project_dirs.sh
    

    В результате будет создана следующая структура каталогов:

    ├── /opt/aw/db
    │   ├── /opt/aw/db/airflow
    │   ├── /opt/aw/db/clickhouse
    │   ├── /opt/aw/db/cubestore
    │   ├── /opt/aw/db/etl_broker
    │   ├── /opt/aw/db/oauth
    │   ├── /opt/aw/db/postgres
    │   └── /opt/aw/db/rabbitmq
    ├── /opt/aw/file_storage
    │   ├── /opt/aw/file_storage/api
    │   ├── /opt/aw/file_storage/cube
    │   ├── /opt/aw/file_storage/dict_cache
    │   ├── /opt/aw/file_storage/etl
    │   ├── /opt/aw/file_storage/file_puller
    │   ├── /opt/aw/file_storage/jars
    │   ├── /opt/aw/file_storage/licence
    │   ├── /opt/aw/file_storage/minio
    │   ├── /opt/aw/file_storage/parquet
    │   └── /opt/aw/file_storage/runs
    ├── /opt/aw/logs
    │   ├── /opt/aw/logs/airflow
    │   └── /opt/aw/logs/rabbitmq
    
    Перейдите в каталог Системы и выполните команды миграции БД:
    cd /opt/aw/app
    docker compose up -d
    docker compose exec backend php yii migrate --interactive=0
    docker compose exec backend php yii run-code-migrations
    docker compose exec etl-api /app/manage migrate
    

    Для ОС RED ОС может потребоваться выполнение дополнительной настройки firewalld:

    # Docker использует IP masquerade для организации сети в контейнерах
    firewall-cmd --zone=public --add-interface=docker0 --permanent
    firewall-cmd --zone=public --add-masquerade --permanent
    
    # Сделать доступным HTTP-порт
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    
    # Применить настройки
    firewall-cmd --reload