moodlebox
A Moodle server and Wi-Fi router on Raspberry Pi Zero 2w, 3, 4 and 5
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Keywords
Repository
A Moodle server and Wi-Fi router on Raspberry Pi Zero 2w, 3, 4 and 5
Basic Info
- Host: GitHub
- Owner: moodlebox
- License: agpl-3.0
- Language: Jinja
- Default Branch: main
- Homepage: https://moodlebox.net/
- Size: 8.88 MB
Statistics
- Stars: 135
- Watchers: 19
- Forks: 29
- Open Issues: 10
- Releases: 69
Topics
Metadata Files
README.md
MoodleBox
A Moodle server and Wi-Fi router on Raspberry Pi.
MoodleBox Documentation
Visit the MoodleBox web site for more information about the MoodleBox features or any question about the usage of a MoodleBox.
If you just want to use a MoodleBox, just install it with Raspberry Pi Imager on your Raspberry Pi Zero 2 W, 3A, 3B, 3B+, 4B, 400 or 5 and use it out of the box. Follow the instructions on the MoodleBox web site.
Asking Support Questions
We have an active discussion forum where users and developers can ask questions. Please don't use the GitHub issue tracker to ask questions.
Building the MoodleBox disk image from scratch
If you just want to use a MoodleBox, you don't need to build the MoodleBox disk image yourself. Just install it with Raspberry Pi Imager on your Raspberry Pi Zero 2 W, 3A, 3B, 3B+, 4B, 400 or 5 and use it out of the box. Follow the instructions on the MoodleBox web site.
To build a MoodleBox from scratch with this script, you need a Raspberry Pi 3B, 3B+, 4B or 5.
- Clone Raspberry Pi OS (64-bit) Lite image on your microSD card.
- Create a
ssh.txtfile on thebootfspartition with any content. - Create a
userconf.txtfile on thebootfspartition, and add the following line to it:moodlebox:$6$rmLgDblolU16oLmc$i7QzARV8o84tCDQA/Kq1xU3eYwPWlocqVmpFTcSWqAqiWJpFyTLd.g9W5ktDDh16rq5lwYG9wpHY224m5nHLk0 - Insert the microSD card into your Raspberry Pi.
- Connect your Raspberry Pi to your Ethernet network and boot it.
- Install Ansible on your computer. On macOS, use e.g.
brew install ansible. - Install
sshpassto enable passing SSH password to the Raspberry Pi. On macOS, use e.g.brew tap esolitos/ipa; brew install sshpass. - Clone this repository to your local drive.
- Create a
keysdirectory 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.ymlfile. Do not change anything else, unless you know what you're doing. You're on your own. - Run
ansible-playbook moodlebox.ymlfrom the repository folder. - Wait 15–50 minutes, depending on your Raspberry Pi model, SD card speed and Internet bandwidth. You're done.
Overriding defaults
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.
Availability
The code is available at https://github.com/moodlebox/moodlebox.
Release notes
See Release notes.
Sponsor
MoodleBox is sponsored by E-learning Touch' Moodle Partner.

Thanks
- 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
License
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>)
Owner
- Name: MoodleBox
- Login: moodlebox
- Kind: organization
- Location: Switzerland
- Website: https://moodlebox.net
- Repositories: 17
- Profile: https://github.com/moodlebox
A Moodle server and Wi-Fi router on a Raspberry Pi
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: MoodleBox
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Nicolas
family-names: Martignoni
orcid: 'https://orcid.org/0000-0002-0193-0889'
identifiers:
- type: doi
value: 10.5281/zenodo.15763860
description: MoodleBox v4.10.0
repository-code: 'https://github.com/moodlebox/moodlebox'
url: 'https://moodlebox.net/'
abstract: >-
MoodleBox is a standalone small and cheap mobile device
working without Internet. It combines a wireless access
point with a full featured Moodle server.
license: AGPL-3.0
GitHub Events
Total
- Create event: 18
- Release event: 3
- Issues event: 41
- Watch event: 14
- Delete event: 16
- Issue comment event: 24
- Push event: 62
- Pull request event: 34
Last Year
- Create event: 18
- Release event: 3
- Issues event: 41
- Watch event: 14
- Delete event: 16
- Issue comment event: 24
- Push event: 62
- Pull request event: 34
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Nicolas Martignoni | n****s@m****t | 959 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 200
- Total pull requests: 48
- Average time to close issues: about 1 month
- Average time to close pull requests: 1 day
- Total issue authors: 8
- Total pull request authors: 1
- Average comments per issue: 2.38
- Average comments per pull request: 0.02
- Merged pull requests: 43
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 22
- Pull requests: 27
- Average time to close issues: 13 days
- Average time to close pull requests: 1 day
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 0.55
- Average comments per pull request: 0.04
- Merged pull requests: 22
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- martignoni (175)
- ralf-krause (17)
- christian-westphal (2)
- spipau (1)
- ghost (1)
- lsteamgeo (1)
- jodi319 (1)
- popeye6554 (1)
Pull Request Authors
- martignoni (58)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- ansible-community/ansible-lint-action main composite