Learning and background knowledge

Hi @Kilt - welcome to the farmOS community!

(1) I’d love to have an off-grid, internet-limited, or internet optional solution with farmOS. Does this align with the direction of the project? If so, what are the top constraints to getting there?

Yes! Offline local deployment of farmOS has always been a goal. There are a few considerations to this right now, but we aren’t far from being able to host it 100% offline. Just need someone to push that goal over the finish line. :slight_smile:

I summarized the current constraints a while back in this comment: FarmOS Offline Mode · Issue #37 · farmOS/farmOS · GitHub

You’ll notice that @jgaehring joined that discussion shortly after - and that’s how he got started contributing to farmOS! Now he’s the maintainer of the farmOS Field Kit, which is an offline-first native/progressive web app. As farmOS matures, I hope to see more of the frontend UI features move into this client-side app (see this relevant issue: Field Modules · Issue #217 · farmOS/field-kit · GitHub), so that they can be utilized on your phone in the field without network connection. The app “syncs” records back to the farmOS server when it has a connection - and this can certainly be configured to work over wifi without internet at all (although more testing is probably needed).

Hypothetically, if I wanted to really dig deeply into this project and software over the years, what skills , programming languages , and/or knowledge would I need or want to learn or bring to the community table to maximize farmOS’ success?

Once the “Field Modules” idea described in the linked issue above solidifies, JavaScript would be the main language for writing new farmOS UI features. Our hope is that this will open it up to a larger audience of developer and tinkerers. Of course, if you want to do more advanced stuff that involves changes to the farmOS server/API, then knowledge of Drupal will be required.

As for hosting, if you learn a bit about running Docker containers, then you can host farmOS yourself without needing to learn much at all about Apache, PHP, Drupal, SQL, or other server-side pieces. We have a nice encapsulated Docker image that packages all of the dependencies, so you just run that, and you’ve got a self-hosted farmOS! Of course, Docker itself is a bit of a learning curve, and understanding the other pieces helps greatly in debugging things, but it might be a good place to start.

More info about hosting a development farmOS environment here: Getting started | farmOS

And there’s some info about hosting a production farmOS here (although it could really use more details, especially with regard to database hosting, which is technically separate from the farmOS web container): Installing farmOS | farmOS

If you’re just getting started in the open source world, I can’t recommend highly enough learning Git and Docker. They will open a lot of doors.

Phew long reply! Hope that gets you started - happy to answer more questions in the future as they come up! And again, welcome to the community! :+1: :seedling:

1 Like