A project to build a Moodle server and Wi-Fi router on a Raspberry Pi 3.
Visit the MoodleBox web site for more information about the MoodleBox features or any question about the usage of a MoodleBox.
We have an active discussion forum where users and developers can ask questions. Please don't use the GitHub issue tracker to ask questions.
If you just want to use a MoodleBox, you don't need to build the MoodleBox disk image yourself. Just download the MoodleBox image and follow the instructions on the MoodleBox web site.
To build a MoodleBox from scratch with this script, you need a Raspberry Pi 3, 3B+ or 4B (Wi-Fi!).
- Clone Rasbpian Buster Lite on your microSD card.
- Create a
ssh
file on theboot
partition, e.g. usingtouch ssh
. - Insert the microSD card into your Raspberry Pi.
- Connect your Raspberry Pi to your Ethernet network and boot it.
- Install Ansible on your computer.
- Install
sshpass
to enable passing SSH password to the Raspberry Pi. On macOS, use e.g.brew install https://git.io/sshpass.rb
. - Clone this repository to your local drive.
- Create a
keys
directory in the repository folder and copy your public key into it, under the nameid_rsa.pub
. - Get the IP address of your Raspberry Pi and change it in the
hosts.yml
file. Do not change anything else, unless you know what you're doing. You're on your own. - Run
ansible-playbook moodlebox.yml
from the repository folder. - Wait 30–50 minutes, depending on your SD card and Internet bandwidth. You're done.
You can override any of the defaults configured in default.config.yml
by creating a config.yml
file and setting the overrides in that file. For example, you can change the MoodleBox main credentials and the timezone with something like:
moodlebox_username: 'myusername'
moodlebox_password: 'secret'
moodlebox_timezone: 'Australia/Perth'
Any variable can be overridden in config.yml
; see the file default.config.yml
for a list of available variables.
The code is available at https://github.com/moodlebox/moodlebox.
If you just want to use a MoodleBox, a prepared disk image of the latest released version is available for downloading, cloning on your microSD card and using out of the box on your Raspberry Pi 3B, 3B+ or 4B.
See Release notes.
MoodleBox is sponsored by E-learning Touch'.
- To Daniel Méthot, for the idea of a MoodleBox
- To Christian Westphal, for the first POC of a MoodleBox
- To the Raspberry Pi Foundation, for a splendid small computer
- To Martin Dougiamas, for giving us Moodle, and to the Moodle community
Copyright © 2016 onwards, Nicolas Martignoni nicolas@martignoni.net.
All contributions to this repository are licensed under AGPLv3 or any later version.
MoodleBox doesn't require a CLA (Contributor License Agreement). The copyright belongs to all the individual contributors. Therefore we recommend that every contributor adds following line to the header of a file, if they changed it substantially:
@copyright Copyright © <year>, <your name> (<your email address>)