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

Установка и запуск

Установка и запуск Системы производится в изолированной среде без доступа к внешним сетям (оффлайн). Все действия выполняются администратором и не требуют системных менеджеров (таких как systemd). Для запуска используется команда docker run, при этом конфигурация передаётся через файл переменных окружения .env.dev.

Раздел описывает необходимые предварительные действия, структуру окружения, запуск и проверку Системы.

Подготовка к запуску

На первом этапе необходимо установить Docker на сервер, где планируется развёртывание Системы. Для Linux РЕД ОС следуйте официальным инструкциям: https://docs.docker.com/engine/install/.

Далее необходимо проверить установку Docker с помощью команды:

    docker --version

Необходимо скачать архив с исходными файлами Системы и настроенным окружением Docker-контейнера appsecai.tar.

Импортировать полученный образ контейнера командой

    docker load appsecai.tar

и запустить контейнер:

    docker run -d –name {container_name} {image_name}

Подготовка окружения при локальном использовании

Необходимо создать рабочую директорию:

    mkdir -p /opt/ml-scanner

и перейти в созданную директорию:

    cd /opt/ml-scanner

В данной директории должны храниться следующие элементы:

  1. Dockerfile – инструкция для сборки образа. Пример содержимого представлен ниже:

    # Используем официальный образ Python
    FROM python:3.10.11
    # Устанавливаем рабочую директорию внутри контейнера
    WORKDIR /myproject
    # Устанавливаем необходимые утилиты
    RUN apt-get update && apt-get install -y vim nano && rm -rf /var/lib/apt/lists/*
    # Копируем requirements.txt и устанавливаем зависимости
    COPY requirements.txt /myproject/
    RUN pip install --no-cache-dir -r requirements.txt
    # Копируем весь код Django-приложения
    COPY . /myproject/
    # Открываем порт, на котором работает приложение
    EXPOSE [PORT]
    # Запускаем Gunicorn с привязкой к порту
    CMD ["python3", "-m", "gunicorn", "--bind", "0.0.0.0:PORT", "--reload", "--workers", "2", "mysite.wsgi:application"].
    
  2. requirements.txt – зависимости (библиотеки) Python-приложения.

  3. .env.dev – файл конфигурации. Пример представлен ниже:

    DEBUG=1
    SECRET_KEY=foo
    ADRESS_HOST_PLATFORM=http://IP host:PORT
    IP_DOCKER= IP host
    GIGA_TOKEN=<токен>
    OPENAPI_TOKEN=<токен>
    CSRF_TRUSTED_ORIGINS=http://url_service:PORT
    
  4. Исходный код Django-приложения (manage.py, mysite/, templates/ и т.д.).

Сборка Docker-образа

Находясь в каталоге /opt/ml-scanner, необходимо выполнить команду:

    docker build -t my-django-app

Затем проверить, что образ успешно создан, выполнив команду:

    docker images

Запуск контейнера

Для запуска Системы необходимо выполнить команду:

    docker run --env-file .env.dev -d -p PORT:PORT my-django-app

Пояснение параметров запуска:

  • --env-file .env.dev – указывает путь к файлу окружения;
  • -d – запускает контейнер в фоновом режиме;
  • -p PORT:PORT – пробрасывает порт из контейнера наружу;
  • my-django-app – имя образа, созданного на предыдущем шаге.

Проверка работоспособности Системы

Для проверки работоспособности Системы необходимо открыть браузер и перейти по адресу: http://<IP_сервера>:PORT.

Если шаги по установке и запуску были выполнены корректно, отобразится страница входа в Систему.

Первичная аутентификация

При входе в Систему аутентификация осуществляется по логину и паролю. Учетные данные создаются администратором в Django-интерфейсе или через команду в контейнере:

    docker exec -it <container_id> python manage.py createsuperuser

Обновление конфигурации

Для изменения переменных необходимо выполнить команды:

  1. Остановить контейнер:

    docker stop <container_id>
    
  2. Внести правки в файл .env.dev.

  3. Перезапустить контейнер:

    docker run --env-file .env.dev -d -p PORT:PORT my-django-app