Deployment manual

This is the deployment manual for the Source Academy, to deploy your own clone of the Source Academy on a server that you control. For other options, see educator resources.

It is a work-in-progress, and is intended to:

We assume a reasonable level of familiarity with modern web infrastructure as well as Linux system administration.

Quick start

You should read the overview below first if you have not done so before.

High-level overview

The full Source Academy deployment as used for the CS1101S module in NUS SoC comprises these components:

* denotes a mandatory component
# denotes a component that can be shared (e.g. you could use our deployment of that component)

Components developed in-house

Off-the-shelf components

Cloud services

Deployment costs

A full deployment on AWS (except the modules repository) supporting over 600 students and about 80 instructors costs about 120 to 130 USD per month, give or take. Using AWS IoT may add another 30 USD per month, thereabouts, during the period it is used.

This estimate includes about 50 USD per month in bandwidth costs. It may be slightly lower if you are in an AWS region with lower bandwidth costs (the Singapore ap-southeast-1 region has one of the highest).

Most components are not tied to AWS, so it is possible to use cheaper (or free) services, or host on institution-provided servers.

Get started

Start off by deploying the backend, then the frontend, followed by the auxilliary services.

If your organisation has no in-house authentication service, you may wish to follow one of the guides on authentication services as well.