SKSI/HandoverPlan

To facilitate the handover of cloud services (and their maintenance) from the OER Foundation to MESC/MiLLL staff Dave Lane (OER Foundation Open Source Technologist) is proposing a guided tutorial in which a small cohort of MESC staff (probably max 4-5, but could be run multiple times) learn how to

Session One

 * Create the Cloud Server
 * create a new cloud-based Linux instance capable of hosting Docker containers from a previously created snapshot,
 * Access the Cloud Server securely
 * install a local SSH client and create an SSH key,
 * log in to the server remotely via a default admin user,
 * create user accounts for each participant,
 * specify the public key for each user's account, and
 * log into their account securely (without needing to use a password!) via Secure Shell (aka SSH) with their local SSH client
 * Build a Moodle Instance
 * recreate a copy of a previously existing Moodle site's source code from a backup,
 * make relevant configuration changes,
 * create a new Moodle Docker recipe with Docker Compose for each user,
 * instantiate the relevant containers,
 * configure a DNS entry for each user's Moodle site so they're all independently accessible,
 * configure a suitable NGINX webserver reverse-proxy configuration for each domain,
 * generate an SSL certificate via Let's Encrypt for each domain and enable HTTPS,
 * access the Moodle site and create an administrative user, and
 * check the update notification and note that a Moodle core update is available

Session Two

 * Update the Moodle Instance to the latest available stable version.
 * create a backup archive of the current site including a database dump (to allow a recovery if required!),
 * update the site's source code to new Moodle version,
 * restart containers, and
 * apply DB updates to complete upgrade to latest Moodle version.
 * Make Moodle 'Production-ready'
 * set up hourly database dumps for the containerised MariaDB/MySQL server into the host computer's filesystem,
 * set up daily remote filesystem backups of the host to a remote backup system, and
 * recreate the site from a backup.