FoodCoopShop is the open source ordering and management platform for food cooperatives, buying groups and small local producers: members browse one shared catalogue from many producers and order on a weekly delivery or pickup rhythm, while administrators manage producers, products, orders, members and invoicing from one admin area.
FoodCoopShop is a user friendly open source web application that lets a food cooperative, buying group or box scheme run its ordering and distribution online. Members sign in to a shared storefront, browse a catalogue of products from many local producers, and place orders for the next delivery or pickup day, managing their own account and a cashless credit balance as they go. Administrators run the whole operation from a dedicated admin area: they add and manage producers, products and categories, configure delivery rhythms and pickup days, and handle orders, order adaptions, invoicing and member accounts, with a self service stock mode and optional barcode scanning for on site distribution.
It suits food cooperatives, community buying groups, solidarity agriculture schemes and small producer collectives that want a self hosted platform they fully control to coordinate weekly orders between their members and their producers, rather than a spreadsheet or a public service.
cloudimg ships FoodCoopShop as a complete appliance rather than a stack you assemble by hand: FoodCoopShop 4.2.0 is a CakePHP 5 application served by nginx and PHP 8.4 FPM with OPcache and backed by MySQL 8.0, with the database migrations and base data already applied and the shop set to English, so a working storefront and admin area answer within a minute or two of launch and there is no setup wizard to complete. A small example catalogue, a demo producer with three products, is seeded so the shop shows a working example from the first boot.
Security is designed in. No shared or default login ships anywhere in the image. On the first boot of your instance a one shot service generates a unique CakePHP application salt and cookie key, a unique MySQL password, and a unique administrator email and password into a root only file, and sets the VM's own address as the shop base URL, and nginx does not serve a single request until that rotation is complete, so no unprovisioned instance is ever reachable with a known credential. MySQL is bound to loopback only and nginx on port 80 is the sole public surface. The base is fully patched with unattended security updates enabled, and every image is paired with a step by step deploy guide and backed by 24/7 cloudimg support.
Real screenshots taken while testing this image against its deployment guide.