Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SPIKE] Document an alternative to MonsterPi by self installing docker (f.e. alternative Raspberry Pi 5 support) - SQLite only! #230

Open
davidzwa opened this issue Jan 3, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@davidzwa
Copy link
Contributor

davidzwa commented Jan 3, 2025

Problem description

MonsterPi does not support Raspberry Pi 5. Any future changes in Raspberry Pi and CustomPiOS could cause new changes to come up. All in all the MonsterPi route is not ideal for new users (especially for the ones who have a bit of linux understanding).

Personally Ive ran FDM Monster using this approach with great success:

  • Raspberry Pi 5 with 8GB RAM and 32GB SD card
  • Raspberry Pi OS Lite ARM64
  • Docker
  • Portainer
  • fdmmonster/fdm-monster:latest-sqlite docker image

Information to convey

A warning that this will not work for MongoDB only with SQLite as most MongoDB versions beyond 4.4 do not run properly on a Pi 4 or 5. Any user deviating from this path is on their own as FDM Monster will drop support for MongoDB in version 2. They can check MonsterPi installation steps for MongoDB if they wish to learn more about what works https://github.com/fdm-monster/MonsterPi/blob/8bfd34fe614a5d324b22cf6f0bcd5fb4fb8e20ef/src/modules/monsterpi/start_chroot_script#L72.

1 - Installation steps to flash Raspberry Pi OS or Ubuntu 24 on a SD card using Raspberry Pi Imager.
2 - Steps to insert the SD card and booting up the Pi.
3 - Steps to access the Pi using SSH.
4 - Installation steps to getting docker and docker-compose installed on the running Raspberry Pi. This works for Raspberry Pi 4 and 5 (I dont think its wise to run Docker on a Pi 3).
5 - Steps to add portainer if so desired. If not skip to step 7
6 - Steps to run FDM Monster from a portainer compose stack
7 - Alternative route, create/download a compose file and install FDM Monster using docker-compose
8 - Steps to check FDM Monster is working

Further questions

  • Why was this manual created? Raspberry Pi 5 support for MonsterPi has been lacking. We've noticed that the support for the Pi 5 is a lot of work and we'd like our users to stay ahead of the curve instead of having to wait. Using docker on a Pi is providing the isolation required for users to have control.
  • Does this manual require technical knowledge? Yes, although we do try to help you through the process there is a bit of knowledge required about accessing a Raspberry Pi using SSH, running Linux commands and understanding how docker is to be used. This knowledge is, however, very valuable in the current industry. Therefore, any time invested learning these steps is time well spent.
  • What is portainer? Portainer is an external project. It is a docker container which provides a nice web interface to install, control, update and manage docker containers on any system.
  • Is portainer required? Absolutely not. Feel free to run docker-compose or other container management tools/orchestrators that suit your needs.
  • Is docker required? Technically no, but it will simplify this installation quite a bit. Any users installing FDM Monster directly with NodeJS, optionally nvm and pm2 - to give an example - are on their own.
  • Is Kubernetes an option? We will not support kubernetes or microk8s in this tutorial. This is left entirely up to the user as kubernetes does require quite some technical knowledge and commitment. This might change in the future.
  • Will docker use a lot of memory? It can happen in rare cases that some containers use shared/buffered memory. Use the tool htop to check the VIRT column for this type of memory. Normally within Linux systems this memory is completely fine to ignore. But if this column exceeds normal bounds it could be that one of docker container's processes/services is slowing the Pi down. There is quite a technical reason for this, but its best for users to recreate the container and ask for support if they are interested. In our experience this only happens with docker images which are not well designed. We took great care to prevent this in the FDM Monster image. (Tip: those are writing to file paths within the container which are not mounted on the host, and therefore written to shared virt memory)
@davidzwa davidzwa added the enhancement New feature or request label Jan 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant