Hi, I wonder if it is possible to run services beside FreedomBox. On a 1GB device, will there be any memory left for other things? In case this is difficult to answer, would it be possible to describe the FreedomBox memory use with, say, one or two typical scenarios?
One particular service that I would like to run in the background requires (up to) 100MB for itself on 32bit ARM/Debian (RPi).
100 MB of RAM, or 100MB of disk space to store everything?
I just loaded Ruby on Rails, I’ll report about it once I bring up a simple RoR site, and I can see how it runs compared to how I used to run it on Joyent/Solaris, 10 years ago. I’m pretty sure I had a 1GB virtual Solaris machine back then.
I’m running my box with NONE of the FreedomBox-HSK software running. I’m just using it to bring up a RoR website. But even if you disable everything on the Freedombox, Apache web server still runs. I used to run a simple stack of apache/RoR on a Joyent Solaris VM, everything ran just fine in 1GM. Bit that was 6 years and RoR was at 3.X, it’s now at 5.X and has a lot more stuff, I’ll report here as I test.
I think you cannot even have all the 25 or so applications currently available in FreedomBox running on a machine with 1 GB memory. Consider the list of apps in the Apps tab to be like an app store. You shouldn’t expect to have all available apps running at the same time on your FreedomBox.
Most apps in FreedomBox are quite light-weight in terms of memory usage. The most memory-hungry application is Matrix Synapse. You should avoid joining large chat rooms (more than a few hundred members) if running this application on a machine with 1 GB memory (this is also mentioned in the manual page for Matrix Synapse). The main FreedomBox server application (plinth) only consumes 60 to 80 MB of memory from my empirical observations.
You can run other external services on your FreedomBox if you want to. Just look up the minimum system requirements and see if you still have sufficient resources. For applications supported by FreedomBox, you can simply disable unnecessary or infrequently used applications to reclaim memory.
Regarding memory usage, I think we already have issues in the issue tracker for adding a swap space and showing minimum system requirements for apps. Another option called zram was discussed in the past but not implemented.
Great overview. Thank you for posting. After you mentioned “list of apps in the Apps tab” I fould the “Free Demo” and played with it. Looks very nice. I wonder how you do this. Is a new VM being started for every person running the demo?
I would also like to learn what “free -h” returns when all apps (except plinth) have been disabled. Maybe someone can find the time to post this.
All demo visitors share a demo VM currently. The VM is reset periodically to make it fresh.
Here is my situation on a 2GiB development VM.
total used free shared buff/cache available
Mem: 1.9Gi 281Mi 458Mi 18Mi 1.2Gi 1.5Gi
Swap: 0B 0B 0B
On FreedomBox Pioneer Kits the situation should be similar with only 1GiB or RAM however. You would have 700MiB of RAM for running your custom applications. OpenLDAP server, FreedomBox Web UI, firewalld, network manager, systemd, fail2ban etc. all combined take about 280MiB.
Thank you very much. 700MB is not bad. But I could make use of more. Hopefully, ARM PCB’s with 2GB RAM (or more) will come soon.
Indeed there are many boards now and upcoming with 2GB and more RAM. And they are getting cheaper. So the outlook for home server hosting is very good