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

Установка системы

  1. Установить Docker Engine под нужную операционную систему в соответствии с документацией: https://docs.docker.com/engine/install/.
  2. Установить Docker Compose в соответствии с документацией: https://docs.docker.com/compose/install/.

    Примечание: для Mac и Windows шаг можно пропустить, т.к. утилита включена в установщик Docker Engine.

    Примечание: версия Docker Compose должна быть не ниже 1.29, но ниже версии 2.0. Установщик не будет работать корректно с Docker Compose версии 2.0 и выше.

  3. Авторизоваться в приватном реестре Docker-образов системы «CodeScoring» при помощи команды docker login registry-one.codescoring.ru, используя логин и пароль, полученные от вендора.

  4. Скачать архив с установочными файлами, распаковать.
  5. Перейти в консоли в созданную директорию.
  6. Скопировать шаблонный файл с настройками:

    cp app.env.template app.env
    
    Как правило, для корректной работы никаких изменений в файле не требуется. При необходимости настройки работы CodeScoring через прокси, обратите внимание на инструкцию

  7. Скопировать шаблонный файл с секретами:

    cp .env.template .env
    
    При необходимости можно изменить параметры конфигурации в новом файле. Если не менять параметры в файле, то по умолчанию система будет запущена на адресе 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
  8. Выполнить команду установки приложения CodeScoring (выполнение команды должно быть с правами суперпользователя системы):

    cd /path/to/docker-compose
    docker-compose -p PROJECT_NAME -f ./docker-compose.yml up -d --force-recreate --remove-orphans
    

    PROJECT_NAME — здесь и далее выбранное название проекта, по умолчанию использует название текущей директории

  9. Для просмотра логов можно использовать команду:

    docker-compose -p PROJECT_NAME logs -f
    
  10. После запуска сервис будет доступен по настроенному домену или адресу http://localhost:8081. При первом запуске дополнительно выполняются миграции базы данных, операция может занять больше времени, чем при последующих запусках.

    Примечание: для работы инсталляции по протоколу https нужен внешний балансировщик, который реализует терминирование ssl.

  11. Для входа в систему необходимо предварительно создать пользователя с правами администратора с помощью следующей команды (заменив prefix_ значением PROJECT_NAME из пункта 8):

    docker exec -it prefix_backend_1 python ./manage.py createsuperuser
    
  12. Для добавления ключа активации надо войти в систему, перейти в раздел Settings -> Activation key, ввести в форму ключ, нажать Save. В случае успеха на странице появится информация по ключу, поле Status должно быть в значении Active.

    Ключ предоставляется по запросу.