Skip to content

Configuration reference

AndresFelipeCastellanos edited this page Dec 9, 2021 · 11 revisions

Configuration reference

Configuring UNCode is done via a file named configuration.yaml. This file is read once UNCode starts (with ingininous-webapp) and initializes the different settings such as Database, plugins, smtp, scalability settings, among others.

To see all the updated and all settings you can add to the configuration.yaml file, see the INGInious documentation, as it has not changed on UNCode.

Also, here is a template you can use, with the updated and currently used settings for UNCode. Also, as you may notice, the plugins also accept some additional parameters, check the plugins documentation to understand each plugin.

backend: local
backup_directory: <backup_path> # For example ../backup/
local-config:
    tmp_dir: <tmp_directoy_path> # For example /tmp
    concurrency: 1 # Equal to the number of cores
log_level: WARNING # You can set also INFO or DEBUG
smtp:
    sendername: <sender_email>
    host: smtp.gmail.com
    port: 587
    username: <your_user_name>
    password: <your_user_password>
    starttls: true
mongo_opt:
    database: UNCode
    host: localhost
superadmins:
- superadmin # Add the superadmins' usernames you create on DB
tasks_directory: <tasks_path> # For example ../tasks
use_minified_js: true
plugins:
  - plugin_module: inginious.frontend.plugins.statistics
  - plugin_module: inginious.frontend.plugins.multilang
    linter_url: "http://localhost:4567/"
    python_tutor_url: "http://localhost:8003/"
    use_wavedrom: true
  - plugin_module: inginious.frontend.plugins.grader_generator
  - plugin_module: inginious.frontend.plugins.UN_template
  - plugin_module: inginious.frontend.plugins.problem_bank
  - plugin_module: inginious.frontend.plugins.UNCode
    used_grading_environments: ["multiple_languages", "HDL", "Data Science", "Notebook"] # Add others you think you'll need
    used_subproblem_types: ["code_multiple_languages", "code_file_multiple_languages", "notebook_file"] # Add others you think you'll need
  - plugin_module: inginious.frontend.plugins.register_students
  - plugin_module: inginious.frontend.plugins.auth.google_auth
    id: "google_auth"
    client_id: "<your_google_secret_id>"
    client_secret: "<your_google_secret_key>"
  - plugin_module: inginious.frontend.plugins.task_cache
  - plugin_module: inginious.frontend.plugins.plagiarism
  - plugin_module: inginious.frontend.plugins.code_preview
  - plugin_module: inginious.frontend.plugins.analytics
  - plugin_module: inginious.frontend.plugins.task_editorial
  - plugin_module: inginious.frontend.plugins.task_hints
  - plugin_module: inginious.frontend.plugins.manual_scoring
  - plugin_module: inginious.frontend.plugins.contact_page
    slack_url_contact_channel: <main_channel_webhook_url>
    slack_url_course_creation_channel: <course_creation_channel_webhook_url>
  - plugin_module: inginious.frontend.plugins.course_creation
  - plugin_module: inginious.frontend.plugins.user_management
Clone this wiki locally