Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Running Huginn on minimal systems with low RAM & CPU e.g. Raspberry Pi
While this works, the resulting system is VERY SLOW (1-5 sec response time)
Be aware that
bundle install can take several hours!
It is possible to run Huginn on lower performance hardware such as small ARM boards or older x86 hardware. The minimum requirements are yet to be specified. For example, you can serve a single user with: huginn + sysvinit + unicorn + mysql + nginx can be at your service on e.g. a Raspberry Pi - model B - revision 2 - 256 MB RAM - 4GB SDHC class 10 - overclocked @900 MHz
Before deploying Huginn make sure you use a suitable "lightweight" OS distribution for your minimal server. For the RPi Raspbian works quite responsive after some optimization. Also remove all unnecessary packages and services and tweak the system to free as much RAM & CPU. Please help improve these instructions. The goal for use on such minimum machines - the mysql and nginx settings are experimental and for using huginn to serve only to one or a "few" users - please share your experience.
Tuning Huginn for low out of the box Memory usage
To free up memory disable any unused optional Agent in huginn/Gemfile (read the inside comments for instructions).
Reducing the agents activity rate
It is also possible to lower the refresh activity of huginn/lib/huginn_scheduler.rb - by default the frequency is set to 0.3s. You can change and experiment by adding (frequency: x) to the Scheduler.new (hint at where to decrease the huginn activity)
On the RPi a value of 3 is working well.
. . def initialize @rufus_scheduler = Rufus::Scheduler.new(frequency: 3) self.mutex = Mutex.new end . .
Assign and setup a static IP for your server and disable the DHCP entries
for faster startup, memory and cpu savings edit your /etc/network/interfaces e.g.: