Farmbot OS - local build - https server rights

Hello guys,
I would like to reporoduce the fambot OS build.
As I see no others did probably try because github repositories are defined with ssh access (owner only). Ok I fixed this locally and even nerves installation and requirements.
Unfortunately now I see issue with HTTP server. Good I could hack it, byt I do winder how fambot developers handle this.

13:11:13.015 [notice] Application unicode_util_compat exited: :stopped
=INFO REPORT==== 4-Apr-2023::13:11:13.016290 ===
    application: certifi
    exited: stopped
    type: temporary

** (Mix) Could not start application farmbot: FarmbotOS.start(:normal, []) returned an error: shutdown: failed to start child: FarmbotOS.Configurator.Supervisor
    ** (EXIT) shutdown: failed to start child: {:ranch_listener_sup, FarmbotOS.Configurator.Router.HTTP}
        ** (EXIT) shutdown: failed to start child: :ranch_acceptors_sup
            ** (EXIT) {:listen_error, FarmbotOS.Configurator.Router.HTTP, :eacces}

Using sudo is probalby not the right solution, do you really run this on ubuntu as I do ? It seems I do this in some odd way or different than is expected or farmbot guys do.

And if I understand this will run farmbot OS on my ubuntu, but how you move this on rpi (binary image) ?

Thank you for help, curiosity slowly kills me…

Ok, seems solved when I move to port above 2000 (by configuring env variables before the build).

export FARMBOT_SERVER=honza

Issue posponed…

The binary file is done in next steps… as says… No idea where is the binary file but I will figure this out… It search for fwup on my ubuntu… no notes for nerves on ubuntu for the fwup - strange. But tis is probably the reason why I do not see the binary image (hope *.img file).

Unfortunately my tests fail for many reasons, the biggest seem to be this :
20:16:20.828 [error] Exqlite.Connection (#PID<0.343.0>) failed to connect: ** (Exqlite.Error) database is locked


Hello me, fwup is distributed externally in the fwup project for ubuntu… nothing in ubuntu repos (why? messy?).

sudo dpkg -i fwup_1.10.0_amd64.deb

Tests commented in the for curiosity if the rest will pass/run. The build continues…


1 Like

Hi! My team is also going to customize the farmbot OS build . We installed Nerves and all requirements on the Ubuntu server and also fixed the repository locally.
The dependencies we use are elixir 1.13.2-otp-24 ,erlang 24.2, and nerves 1.21.1
However, when we run the it fails when running script:
and reports that host Erlang version 24 does not match target version 25.
So, I switched to Erlang version 25.1.2 as documented in the change log for rpi4, and it fails when running the same command, and the report looks like this:

Have you met with a similar problem before and could you please give us some advice on how to reproduce the farmbot OS?

I soolved this incompatibility by switching on erlang 24.3.4 .

diff --git a/.tool-versions b/.tool-versions
index d1763280..62aec588 100644
--- a/.tool-versions
+++ b/.tool-versions
@@ -1,2 +1,2 @@
-erlang 24.2
+erlang 24.3.4
elixir 1.13.2-otp-24
  • I also cleaned the asdf installed vesions and reistalled them…
    $ rm -rf /home/honza/.asdf/plugins/erlang/
    $ asdf plugin-add erlang
    $ asdf install erlang 24.3.4
    $ asdf plugin-add elixir
    $ asdf install elixir 1.13.2-otp-24

The erlang 25 sounds nice, but I am bit puzzled by this messy nerves stuff. I would really prefer yocto above this toy (only rpi and beagle boards really? WTF). For example the UEFI boot for x86_64 is obsolete and unmaintained (really?).

I did try to investigate how to switch this project on x86_64 platform, but I afraid there is no chance or too much work to do that. My company has really nice pico-ITX boards for real embedded stuff (vibrations, temperature, reliability) so I would like to use them but I see no chance.

If you will try to run the HTTP server then please let me know how you did solve the security issue (root privilege).

good luck, Jan

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.