I’m excited to share a little project I’ve been working on for a while now: a simple site for building demos of farmOS!
The site is live here: https://farmos-demo.rootedsolutions.io/
Source code here: GitHub - paul121/farm-tugboat-demo: Simple site for creating demos of farmOS.
Right now you can build demos of a bare-bones 2.x instance that will expire after 12 hours. There are some fun features:
- Random + custom farm names
- All core farmOS modules enabled
- Mapbox maps
- Multiple languages (only German, Spanish, Italian and Dutch right now as they are the most translated. Easy to enable more by request)
- Timezone configuration
- Automatic login links
- Ability to customize the OAuth clients - helpful for farmOS Aggregator and farmOS Field Kit development!
The demos are hosted on Tugboat and created by the site using Netlify Functions. I’ve included some documentation on how this works.
Some ideas for future work:
- Add demo data sets (the site suggests that crop and grazing farm examples will be available in the future)
- Increase demo expiration time/allow expanding expiration time by request. This will likely require sponsorship of a non-free Tugboat plan so that there are sufficient resources to support > 15 concurrent instances.
- Workflow to support translating content within the demo instances; removes the barrier to development environment, self-hosting or paid hosting required to do this.
- If this works well, make it more official on a demo.farmos.org or similar domain
Please give it a spin and share any feedback you have! I hope this can be a useful tool for our community
Great initiative, Paul! Very accessible, low-friction onramp, all the way thru to new dashboard… But then the experience suffers for lack of sample data.
For those people who have never seen a farmOS instance before, i think it would be nice to show them an instance with some data first, and then ask if they’d like to either (a) clone and edit a copy; or else (b) create a fresh empty instance as you have done. For some, it would be quite enough to browse the sample instance (this could mitigate that problem you mention of hosting so many open instances, b/t/w), and then if they advance into either a or b options, they will do so better prepared to make good use of that time-limited instance.
My €0.02 of feedback, FWIW.
Since we put the “Demo farmOS” link on the farmOS.org homepage there’s been quite a lot of usage! 10+ demos being created everyday, as many as 25 demos running at the same time. I’ve upgraded to the $30 10GB tier so that I could re-build the base preview (otherwise would need to delete all current demos in order to create a new base preview without hitting the storage limit).
This is fine in the short term but I think I’d propose getting community funds once we have demo content being used here as well. This would likely require building multiple base previews, or at the very least result in larger demo preview sizes, and require the paid tier.
Great to see this getting used @paul121!
This is fine in the short term but I think I’d propose getting community funds once we have demo content being used here as well.
I wonder if it would be worth opening a new topic to start sketching up a proposal for this.
One of the big questions in my mind is cost, but also scalability. If we start paying for the next level, how long will it be before that isn’t enough as well, and we are back in the same boat?
Good question. I’m optimistic that the $30 10GB intro plan will go pretty far. A little math:
The free tier is 2GB. The base preview takes up 1GB. Which is leaving 1GB free for demo previews. I’ve seen this 1GB run out after ~20-25 previews.
10GB with 3 1GB base previews leaves us 7GB for demo previews. 7 x 20 would be 140 simultaneous previews! This is where the preview duration comes in, 12/24/?? hours starts to become a significant factor in how many previews are running eg: 140 in 12 hours vs 140 in 24 hours.
Someone from Tugboat said they can likely help if we’re reaching the limits too. At some point it probably makes sense to roll your own rather than pay for it but until then