Free, instant access to default instances of Moodle versions for potential users who want to try it out, for existing users who want to see how Moodle behaves by default compared to their installations, for someone who quickly ones to try out a feature, and so forth.
The Moodle instances have the following necessary limitations:
-
removal of the ability to install plugins. The removal of that ability is to protect the server from malicious users who might use plugins to take over the server or completely use up all disk space.
-
removal of the ability to send email so that malicious users cannot use the server to send spam.
-
automatic reset to default of every instance on the hour, every hour.
The website is built with HydePHP.
To develop the website locally, change to directory files/website.
Install the Composer dependencies with:
composer install
Install the Node.js dependencies with:
npm install
Build the HTML pages from the templates with:
php hyde build
Build the styles with:
npm run prod
The build steps will create the _site directory that contains the static website.
To serve the website without running Ansible, use:
php hyde serve
This command automatically rebuilds the HTML every time a template is changed.
To automatically rebuild the styles when a class is added or removed from a template, run:
npm run watch
Unfortunately, this command crashes frequently because it cannot find the mix-manifest.json file to change its permissions (This is probably because the php hyde serve
command empties the _site directory to which npm run watch
writes. Not an ideal situation. The plan is to switch to Gulp.js from HydePHP).
To develop with Ansible locally, change to the project root directory.
Install the necessary Python packages:
pip install -r requirements.txt
Install Docker by following their guide.
Run the playbook inside docker with:
molecule converge --scenario default
To view the website and Moodle instance inside docker, create the domain name learningsandbox.test in your local /etc/hosts file that points to 127.0.0.1.
Copyright © 2023 Geoffrey Bernardo van Wyk (https://geoffreyvanwyk.dev)
This file is part of Learning Sandbox Online.
Learning Sandbox Online is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Learning Sandbox Online is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Learning Sandbox Online. If not, see https://www.gnu.org/licenses/.