Установка системы
- Установить Docker Engine под нужную операционную систему в соответствии с документацией: https://docs.docker.com/engine/install/.
-
Установить Docker Compose в соответствии с документацией: https://docs.docker.com/compose/install/.
Примечание: для Mac и Windows шаг можно пропустить, т.к. утилита включена в установщик Docker Engine.
Примечание: версия Docker Compose должна быть не ниже 1.29, но ниже версии 2.0. Установщик не будет работать корректно с Docker Compose версии 2.0 и выше.
-
Авторизоваться в приватном реестре Docker-образов системы «CodeScoring» при помощи команды
docker login registry-one.codescoring.ru
, используя логин и пароль, полученные от вендора. - Скачать архив с установочными файлами, распаковать.
- Перейти в консоли в созданную директорию.
-
Скопировать шаблонный файл с настройками:
Как правило, для корректной работы никаких изменений в файле не требуется. При необходимости настройки работы CodeScoring через прокси, обратите внимание на инструкцию -
Скопировать шаблонный файл с секретами:
При необходимости можно изменить параметры конфигурации в новом файле. Если не менять параметры в файле, то по умолчанию система будет запущена на адресеhttp://localhost:8081
.Примечание: не используйте в параметрах символ
#
, он может некорректно восприниматься системой при установке.- список доменов для правильной работы CSRF защиты, рекомендуется перечислить localhost на внутреннем и внешнем портах, а также внешний домен (или сочетание ip:порт), указание протокола является обязательным, например:
DJANGO_CSRF_TRUSTED_ORIGINS=http://localhost:18000,https://localhost:8081,https://внешний ip:8081
- параметры подключения к базе данных PostgreSQL. База поставляется вместе с установкой. Указание доступов отдельно является мерой предосторожности и контроля.
POSTGRES_DB
— название базы данныхPOSTGRES_USER
— имя пользователяPOSTGRES_PASSWORD
— парольPOSTGRES_HOST
- хост, на котором доступна база данныхPOSTGRES_PORT
- порт, на котором доступна база данных
- секрет веб-приложения
SECRET_KEY
— случайная строка символов
- при согласии отправлять ошибки в систему сбора логов Sentry надо задать соответствующие переменные:
SENTRY_ENABLED=True
SENTRY_DSN
— адрес отправки, значение будет предоставлено вендором отдельноSENTRY_ENVIRONMENT
— значение будет предоставлено вендором отдельноSENTRY_RELEASE=develop
— значение будет предоставлено вендором отдельно
- настройки домена системы
NGINX_HOST
— хост, на котором будет доступна системаNGINX_PORT
— порт, на котором будет доступна системаSITE_SCHEME
- протокол передачи данных, по умолчанию https
- пути исключений
ANALYSIS_IGNORED_PATHS
- список путей, которые будут игнорироваться системой при анализе. Подробнее с добавлением путей исключения можно ознакомиться тут
- версия приложения
CODESCORING_VERSION
- список доменов для правильной работы CSRF защиты, рекомендуется перечислить localhost на внутреннем и внешнем портах, а также внешний домен (или сочетание ip:порт), указание протокола является обязательным, например:
-
Выполнить команду установки приложения CodeScoring (выполнение команды должно быть с правами суперпользователя системы):
cd /path/to/docker-compose docker-compose -p PROJECT_NAME -f ./docker-compose.yml up -d --force-recreate --remove-orphans
PROJECT_NAME
— здесь и далее выбранное название проекта, по умолчанию использует название текущей директории -
Для просмотра логов можно использовать команду:
-
После запуска сервис будет доступен по настроенному домену или адресу
http://localhost:8081
. При первом запуске дополнительно выполняются миграции базы данных, операция может занять больше времени, чем при последующих запусках.Примечание: для работы инсталляции по протоколу https нужен внешний балансировщик, который реализует терминирование ssl.
-
Для входа в систему необходимо предварительно создать пользователя с правами администратора с помощью следующей команды (заменив
prefix_
значениемPROJECT_NAME
из пункта 8): -
Для добавления ключа активации надо войти в систему, перейти в раздел Settings -> Activation key, ввести в форму ключ, нажать Save. В случае успеха на странице появится информация по ключу, поле Status должно быть в значении Active.
Ключ предоставляется по запросу.