3.7.1. Preliminary Information#

3.7.1.1. Software and Hardware Requirements#

To have a GTC platform on a server or computer running linux, you will need:

  • Docker: v20.10.15+

  • Docker Compose: v2.0.0+

  • Hardware:

    • Minimum configuration: 4 GB RAM, 2 CPU, 8 GB disk space

    • Recommended configuration: 8 GB RAM, 4 CPU, 25 GB disk space

Note

On Mac OS, by default, containers are allocated 2 GB of RAM, which is not enough. You should follow these instructions from the official Docker documentation to allocate at least 4-5 GB to the Docker daemon. If the deployment fails because of insufficient memory during database migrations, check the relevant section in the troubleshooting guide.

3.7.1.2. Required Prior Knowledge#

The GTC is an advanced software platform, so the installation process needs to be performed by a fairly specialized technical role.

At the very least, advanced knowledge of the following technologies is required:

  • Linux OS

  • Docker

  • Docker compose

  • Kubernetes

  • Django

  • Python

It is not required to be an expert in the Open edX platform, the Richie CMS platform and the Aspects analytics pipeline in order to perform the installation, but it is recommended to perform a detailed review of the installation and configuration documentation for each of those 3 components before undertaking the installation of the GTC platform.

These are the main sources of such technical documentation:

For the centerpiece of the GTC platform, which is the Open edX platform, the installation process is performed using a technology called Tutor, and a technology called Tutor Version Manager and Environment Manager or TVM.

Tutor is a free, open-source, docker-based Open edX distribution, both for production and local development. For more detailed information about Tutor, go to: https://docs.tutor.overhang.io/install.html

The easiest way to have an environment is by using an open-source tool created by eduNEXT called TVM.

TVM is a tool for managing your Tutor development environments and it helps you stay organized while working on a Tutor project and its configurations.

3.7.1.3. Domain Naming Conventions#

During the course of this documentation, we will be using the following Naming conventions for referencing the different DOMAINS that each new installation will need to define.

Note

Please note that specific terms like “<aspects_URL>” or “YOUR_LMS_DOMAIN” refer to placeholders in the text and should be replaced with the actual URL of your platform or the particular domain.

YOUR_ASPECTS_DOMAIN: This is the domain for the ASPECTS data analytics platform. It will be accessed by all the data analysts and course instructors.

YOUR_CMS_DOMAIN: this is the domain where the Richie CMS will be published. It is accessed by all the learners and it is the landing page of the whole initiative.

YOUR_FILES_DOMAIN: this is an additional domain you may want to use to upload and host static files such as the logos, banners, etc.

YOUR_LMS_DOMAIN: This is the domain for the first LMS site in the multi tenant configuration. It will be accessed by all the learners.

YOUR_MAIN_DOMAIN: this is the main domain where the multi tenant Open edX platform will be located. It is often not accessed by the general public, only by the administrators.

YOUR_MFES_DOMAIN: This is the domain for the Micro frontends (react frontend applications) that render most of the learner experience in the LMS site. It will be accessed by all the learners and the usual convention is for it to be a subdomain such as apps.YOUR_LMS_DOMAIN.

YOUR_NOTES_DOMAIN: This is an additional domain used by one of the LMS services, the student notes. It will be used by learners when they make use of that feature, but they will not need to load any browser window with such a domain, so it will remain mostly hidden from view. The usual convention is to use a subdomain of your main domain, namely notes.YOUR_MAIN_DOMAIN.

YOUR_PREVIEW_DOMAIN: This is an additional domain used for one specific feature of the STUDIO course authoring platform, named the preview function. It will be accessed by all the course authors in order to view how the course content will look without the need of publishing first. The usual convention is to use a subdomain of your main domain, namely preview.YOUR_MAIN_DOMAIN.

YOUR_STUDIO_DOMAIN: This is the domain for the STUDIO course authoring platform. It will be accessed by all the course authors and the course validators. The usual convention is to use a subdomain of your main domain, namely studio.YOUR_MAIN_DOMAIN.