On a related note, the user who managed to run Tutor on Raspberry Pi has given us some feedback (discussion, report). Here is an excerpt:
(…)
Conversion Docker images from AMD64 to ARM
The Tutor uses nine Docker images to run Open Edx.
The Docker images provided by Tutor are all built on AMD64 architecture, and since the Raspberry Pi is an ARM architecture, the default Docker images cannot be run on the Raspberry Pi.
Therefore, I converted all the Docker images from AMD64 to ARM.
I paid close attention to the software versions and used the same version of the software as much as possible to reduce the complexity of the debugging process. As a result, I was able to eliminate problems caused by differences in software versions.
I was able to convert Nginx, SMTP, Rabbitmq, and Memcache from AMD64 to ARM without any hindrance. I also found a Docker image of MariaDB for the ARM architecture.
The Open Edx and Open Edx Forum Docker images use Dockerize for container configuration; in the process of building the Docker images, both the Open Edx and the Open Edx Forum; the AMD64-based Dockerize will not work on the Raspberry Pi, so we replaced Dockerize with an ARM-based version. Other than that, I was able to build Open Edx and Open Edx Forum Docker images smoothly.
The Elasticserach container uses JAVA containers, and since the architecture of JAVA containers is AMD64, I used the ARM-based Debian to build the JAVA containers. I then built the Elasticsearch container based on the ARM-based JAVA container. The directory structure of Elasticsearch was slightly different between the AMD64-based Elasticsearch container and the ARM-based Elasticsearch container, but other than that, there were no problems.
Since MongoDB versions 3 and 4 do not work on the ARM architecture (they should work on ARM64), I could not find a Docker image of MongoDB version 3 that could be modified for the ARM-based architecture. However, Dominic Chen had created a MongoDB version 3 that works on ARM architecture and published it on his GitHub repository, so I used his binary to create a MongoDB version 3 Docker container. This MongoDB can be used on the ARM architecture, but it does not allow you to use the WiredTiger storage engine due to the 32-bit architecture, so you need to use the MMAPv1 storage engine.
Tutor CLI
I have built an interface to control Open Edx on Treehouses.
Since Treehouses uses the Tor service to host web applications, I modified the Tutor CLI to add the ability to configure Onion addresses for Open Edx and Open Edx Forum.
I then compiled the Tutor CLI and uploaded it to the Treehouses repository.
I then implemented the Treehouses feature to install and configure the Tutor CLI using the Treehouses command. You can use the Tutor CLI or the Treehouses command that wraps the Tutor CLI to operate Open Edx.
Performance and Practicality
The performance of Open Edx on the Raspberry Pi 4 is not very good; the performance is even worse because of using the Tor network.
Also, in the current implementation, the Onion address is used as an email address, so it is not possible to receive email.
Therefore, the current implementation is not practical at all.