Установка и запуск¶
Установка и запуск Системы производится в изолированной среде без доступа к внешним сетям (оффлайн). Все действия выполняются администратором и не требуют системных менеджеров (таких как 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
В данной директории должны храниться следующие элементы:
-
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"].
-
requirements.txt – зависимости (библиотеки) Python-приложения.
-
.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
-
Исходный код 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
Обновление конфигурации¶
Для изменения переменных необходимо выполнить команды:
-
Остановить контейнер:
docker stop <container_id>
-
Внести правки в файл .env.dev.
-
Перезапустить контейнер:
docker run --env-file .env.dev -d -p PORT:PORT my-django-app