Server Configuration

Various properties of the PrairieLearn server can be modified by creating a config.json file in the root of the PrairieLearn source directory and updating values in the JSON file.

The file is structured as a JSON dictionary with the following syntax:

{
  "property1": "...",
  "property2": "...",
  "property3": "..."
}

A full list of properties can be found in lib/config.ts.

Setting Course Directories

The default course directories to be loaded by PrairieLearn can be overridden with the "courseDirs" setting. This setting takes a list of paths to load that are located in the Docker container.

{
  "courseDirs": ["exampleCourse", "testCourse", "/myCourse"]
}

Note that these directories are paths in the container, not on your local computer. To mount a directory on your computer so that it is accessible in the container, you can add the following to your Docker run command:

-v /path/to/myCourse:/myCourse

Then, the path will be accessible at /myCourse (note the beginning slash).