Switching between My.Farm.bot and my self-hosted server

Hi there,

My team is planning to do some customization on the front end. Part of the plan is to add some image management ability there.

Due to COVID restriction, we are working remotely and the network part is not easy for our team to change. However, our farmbot is connected to my.farm.bot server and runs smoothly.

The next step for us seems to setup our own server and then switch to it.

Is there is a easy way for us to switch between the official web app and our self-host one?

I did some testing but found I can do a soft-reset and start to setup the farmbot from beginning.
I was not lucky for the testing and I couldn’t connect my farmbot to my server… so I had to re-flash my SD card.

Are there any easy way for me to do the job?

Thanks

Nico

1 Like

Hi @chefbig ,

There is currently no easy way to do this. Although we have the ability to export account data (it’s in the device settings panel), there is currently no data import tool. With that being said, it might be possible to write a script in the language of your choice that can re-upload the export file to a new server.

The hard part will be translating the primary keys of resources. For example, the sequences on my.farm.bot might make references to things like "point_id": 6. The ID will be different on your local server, however, so you will need to collect and translate all the ID values, which is a non-trivial task. Sequences will likely be the most difficult resource to import. Other resources, like fbos_configs or plants might be easier to import.

Thanks Rick,

I haven’t reach the point you talked about.
Currently I am looking for an easy way of connect my farmbot to my self-hosted server for temporary testing. After the testing, for a few hours, or one to two days for example, and then switch by to https://my.farm.bot

As far as I know, I have be physically besides the farmbot to do the switch and I have to re-flash my sd card each time. Is my understanding correct?

Considering what you have said, even I can switch between the two servers, synchronizing the configurations will also be challenging for me.

Could you give me some suggestions on setting up my testing server for adding a few customizing views to manage images taken by the farmbot?

Thanks

Correct. You could lower the amount of time it takes to do the switch by having two SD cards. One card for each server. In that manner, you would just power the device down and change the card. Each card would log into the appropriate server (no re-flash required).

Since the application is not a CMS (like WordPress, Joomla, etc…) you will need to fork the application.

The FarmBot Web App is a Typescript / React app, so you would modify the code to show whatever code you need. All of the view files are stored in *.tsx files. If you edit the file and refresh the page, the view will change.

Since the application was not meant to be used this way (it is not a CMS), you may hit challenges when you need to update the server version. You might be better served by creating your own application that reads the API or database for the server but which does not change the app itself. That way, your custom application can update independently from the Web App.

Alternatively, it is possible to download all images from your account and view them in a different application using the HTTP API.

Examples:

1 Like

Thank you vey much Rick! @RickCarlino

1 Like