Foodsoft hosting / looking for sysadmin and support help

Dear Foodsoft developers and others,

As the hosting of foodcoops.net is coming to an end, several food cooperatives (from Germany and elsewhere) are looking for a way to host Foodsoft. Many do not have the technical expertise to run it themselves. That’s why I’d love to see if another way to arrange for hosting can be found.

One way would be to share a cloud server with Foodsoft - like the one I’m currently running for some Dutch cooperatives where each foodcoops shares in the hosting costs. I’d be happy to invite the groups looking for hosting there, but there’s one issue: I feel uneasy doing this alone. Both because I don’t want to be the single point of failure, and because I’d like to share the load.

So, I’d be interested to hear if you know who might be interested in helping out with (one or more of):

  • Maintaining a Linux (cloud-based) server, with a number of Foodsoft installations, upgrading it, and maintaining its configuration.
  • Answering questions from food cooperatives, and trying to help them out; possibly writing some documentation as well.

I believe this is necessary for a healthy hosting solution for food cooperatives (in Germany and beyond).

I invite especially food cooperatives running their own Foodsoft installation to contact me, perhaps we can find something that is better for all of us.
And if you have any (other) thoughts, please respond.

Hoping to hear something!

Best regards,

  • Willem

p.s. cross-posting on foodsoft-dev and foodsoft-discuss - I hope you don’t mind this exception. Feel free to respond on one of the lists, or if you really prefer to contact me directly, is ok.

Hi Willem,

I applaud your commitment to the community - thank you for all your work! I would be happy to help out if I can. I have several years of experience setting up and maintaining servers for startup companies. In general, I am pretty good at finding a way to run a server without it costing a lot and also ensuring it is secure and reliable.

Below I describe how I am hosting ours right now, but I guess the immediate issue is moving the existing server somewhere else. Rails apps are usually pretty easy to move, copy files/db, update the DNS and you are done. Setting up a hardened server with a database is pretty easy, just a few hours work. I don’t know the load, but I imagine a 2GB server could be sufficient - that costs about $10 USD/month. the cost of a domain name is ~20/year. But of course, I am on the other side of the world - most of the coops are in Europe.

Does Benjamin want to hand over the foodcoops.net domain name - that would make moving it simpler and perhaps seamless to existing coop users.

I suspect the most time consuming aspect will be user support or handling any customisation or setup/configuration. As a user, being able to get instant support is pretty critical. But as a volunteer, there is also a limit to my availability. I’ve already spent too much time to make it work for my own coop, but I do get satisfaction from building software that saves our coop effort every week.

There is other coop software that is managed and charges 1-2% per order, for our small (<20 family) coop, 2% could end up costing $2000 (on $100,000) for the year, probably more. I don’t think this cost is unreasonable if you want software that is well supported, maintained, and so on. At the end of the day, we all have to eat and have only so much free time. If you want software to improve, you usually have to support it one way or another.

How many coops and how many users are involved? What do they currently pay for support? Would any be willing to help support other coops as a condition of hosting? I suspect there will be some language barriers for support. Will you be volunteering at no cost to support these coops? Will they send you chocolates, cheese and other treats?

Perhaps a two-tier model of ‘free and community’ support and a ‘paid support’ idea would work? I don’t know. I do know that it is hard but very important to find a sustainable way to support any project. Volunteer work is inherently unreliable in the long run.

Tom

I am currently running our installation on Heroku. It is working reasonably well now. Our coop use easily fits in the free plan for Heroku.

With Heroku, our only sever cost will be to host the database. I often will use my own database server with many low volume web apps. When the app is efficient with queries or if it is in the same datacenter as Heroku this setup works very well.

Unfortunately, the foodsoft app is not very efficient with database queries - so any delay in the database connection really slows things down. Right now, I am using Heroku’s DB (the free plan) but it will cost $9/month once I hit the 10,000 row limit - or I use my own DB server. I have optimised quite a few queries (and will make PRs) but it is still not very efficient. I am proud to say I got the supplier sync working in a few seconds, down from several minutes, when syncing ~800 products.

One limitation of Heroku is there is no persistent file system, so file uploads do not work. I considered converting foodsoft to use paperclip, which would allow using S3 for file storage, but I have been more concerned with other aspects of our coop.

In terms of documentation, I agree that the project is sorely lacking in user documentation. I would actually like to see more inline documentation rather than a manual. That is the UI should be clear and help available directly on the page that you are using. I have made a few tutorials with many screen shots for our coop using google docs.

Hi Tom,

Thanks for your reply!

As I’m already running a virtual server, which doesn’t take much time, it would not mean that much work, I suppose. Just having one or two more people available, being able to respond, and being able to provide a little support would already make it work.

I do think having a geographically somewhat close server makes sense, so one in Europe would be preferable for these cooperatives. At the moment, there are about five Dutch cooperatives and I have heard from five German groups. When sharing hosting and domain name costs , that would be a couple of euros per month - and I wouldn’t want it required to be much more. Ideally I’d work with donations, as long as everyone feels the need to contribute so that it at least covers the costs. (And if there’s more than that, it could go to supporting developers - like travelling, and a coffee when they are meeting in a café.) That would be my current ideal.
My impression is that most food cooperatives currently work by having volunteers (and not have paid staff), so I think it makes sense that Foodsoft works in a similar way. Perhaps the larger cooperatives have enough hands on board to be able to contribute back to Foodsoft? That would be really nice, but not sure if that will happen.

With regards to foodcoops.net, Benjamin is happy to hand over foodcoops.net (after the service has ended in July). That’s good news! Migration will not be automatic, I plan to migrate only groups that indicated to want it. Redirects may be well possible (let’s see how it goes).

Regarding technical setup, I’ve had good experiences with ‘just’ virtual server (also because it is easy to add extra stuff, and would be possible to setup mail and such without needing extra services all the time - a lot cheaper all in all). If it was a commercial thing, I would consider Heroku :slight_smile:

Thanks again for sharing your thoughts. Do you think this makes sense? And I hope others feel free to join the conversation.

Best regards,

  • Willem

If you’d like to share your docs, that could help other groups (even if they contain procedures specific to your foodcoop). Here, or in the wiki, or on the website (to be moved to foodcoops.net later this year). It could even be a read-only link.

Sorry I did not see your reply until today when I checked nabble. I guess I was not registered correctly, but I think I am now.

Actually I agree with your setup, even for small scale commercial. Keeping the database and rails on the same server will reduce the impact of any slow queries and is absolutely fine for a low/moderate volume of users. Even a large number of users can be handled with that kind of setup if you use a larger server instance.

I think you are right about how most coops work with all volunteer members. Well, at least what we are referring to as coops. Here they are often called buying clubs, but your vimeo video sums up exactly how they work. There are also quite a few coops that evolved into grocery stores, and some that evolved into food distributors.

I do like your attitude in terms of making it free or low cost. However, the downside of that is all development becomes hobby or volunteer. This can make things stagnate unless developers have a lot of free time. I have a lot of improvements to send back, but it will take me some time to pull them cleanly out of my branch. I will do my best to send some back.

I’ll send a link to my documentation before too long - I need to go back and update it. I’ve used google docs because it was easy to add screenshot/walkthroughs. I have made some non-trivial changes though, like letting an ordering person adjust the quantity that a member receives. This lets them adjust the allocations, making it more fair/etc.

Sorry I did not see your reply until today when I checked nabble. I
guess I was not registered correctly, but I think I am now.
No problem - I often need a week to answer …

Actually I agree with your setup, even for small scale commercial.
Keeping the database and rails on the same server will reduce the
impact of any slow queries and is absolutely fine for a low/moderate
volume of users. Even a large number of users can be handled with
that kind of setup if you use a larger server instance.
Great. It’s been doing pretty well in the past years on a Foodsoft setup
like this (even running separate Foodsoft versions next to each other).

I think you are right about how most coops work with all volunteer
members. Well, at least what we are referring to as coops. Here they
are often called buying clubs, but your vimeo video sums up exactly
how they work. There are also quite a few coops that evolved into
grocery stores, and some that evolved into food distributors.
I do like your attitude in terms of making it free or low cost.
However, the downside of that is all development becomes hobby or
volunteer. This can make things stagnate unless developers have a lot
of free time.
I’ve experimented with more commercial services before, but that didn’t
work out well all in all. Besides, I really do like the bottom-up aspect
where everyone is part of making a change -mentality, and I find it hard
to mix that with a business model. So for now, I’m with the
volunteers-approach. Even though it’s often a slow process.

I have a lot of improvements to send back, but it will take me some
time to pull them cleanly out of my branch. I will do my best to send
some back.
That’s great to hear. No problem if it takes time. Clean PRs are indeed
appreciated :slight_smile: Curious to see what you came up with.

I’ll send a link to my documentation before too long - I need to go
back and update it. I’ve used google docs because it was easy to add
screenshot/walkthroughs. I have made some non-trivial changes though,
like letting an ordering person adjust the quantity that a member
receives. This lets them adjust the allocations, making it more
fair/etc.
Cool! Looking forward to seeing it.

Best,

  • Willem

For those who are not subscribed to foodsoft-discuss, you may be interested to read the followup there at http://foodsoft.51229.x6.nabble.com/An-open-community-driven-and-centrally-hosted-Foodsoft-platform-tp1395.html

I’d like to give an update. Next to the aforementioned blogpost, an IT-team is being formed with people from different cooperatives. So the ideas to start a global Foodsoft installation, will be able to become reality! Right now, there is interest from about 8 people with (at least a bit of) technical background, and we’d like to get started soon.

In case you’re interested to participate, please let me know. Discussions on the infrastructure will be held in http://foodsoft.51229.x6.nabble.com/foodsoft-global-ops-f1394.html (which is closed to avoid leaking sensitive information by accident).

A big thanks to all who responded. It is heartwarming to see that people wanted to help, both in the IT-team and in responses by groups who offered their help in other ways. We’re still sorting out what can be done best, and as it’s holiday, things are sometimes going a bit slow, but we’ll get there.

Warm regards,

  • Willem