The farm operating system, open at the core.

Everything a farm actually runs on — fields, crops, livestock, tasks, money — is open source and self-hostable. The enterprise modules sit in a separate directory, licensed for organizations that need them. Same codebase, same data model, no vendored fork.

v2.4.0 latest AGPL-3.02.1k stars184 contributors Docker · Postgres · PostGIS
~/wakulima
# clone and run the community edition
$ git clone https://github.com/wakulima/wakulima
$cd wakulima && cp .env.example .env
$ docker compose up -d
 
postgres + postgis      ready
api                    :8080
web                    :3000
worker (tasks, weather) running
 
# core/ AGPL · ee/ enterprise licence
$ open http://localhost:3000
In the open core

A complete farm, running on your own server.

Not a demo tier. The community edition is the same application our cloud customers use for daily farm work — mapping, records, labour, stock and books — with no seat caps and no telemetry.

Fields & mapping

Draw plots on a PostGIS-backed map, track soil, rotation and per-field history offline-first.

PostGISGeoJSON importOffline tiles

Crops & seasons

Plantings, inputs, spray records and harvest yields, from seed lot through to graded output.

Yield logsInput recordsSeason compare

Livestock & herd

Animal registry, breeding and health events, daily milk recording per animal and per shift.

Milk recordsHealth eventsBreeding

Tasks & labour

Assign work to team members, track hours and casual labour, weather-aware reminders on spray windows.

Crew rosterTime trackingReminders

Money & books

Sales, costs, payments and per-field profitability, with M-Pesa statement import and CSV export.

M-Pesa importP&L per fieldCSV export

Inventory & stores

Seed, feed, chemicals and equipment with reorder points and consumption traced back to the field.

Reorder pointsBatch traceabilityEquipment log

Mobile field app

The same PWA our cloud users get. Records queue offline and sync when the phone finds signal.

PWAOffline queueEN + Kiswahili

Users, roles & audit

Local accounts, role-based permissions per farm, and a full append-only audit trail of every record change.

RBACAudit logAPI tokens

Open API & webhooks

The whole data model is reachable over a documented REST API with webhooks — build your own tools on top.

OpenAPI 3.1WebhooksSelf-hosted keys
Where the line sits

Open core, honestly drawn.

Everything a single farm or co-op needs to operate is in the open tree. What we license is the multi-tenant, marketplace and treasury machinery that only larger networks run.

Capability
Open core
Cloud / EE
Farm records, mapping and mobile appFields, crops, livestock, tasks, money, inventory
Unlimited users on your own instanceNo seat billing when self-hosted
Open API, webhooks and full data exportDocumented schema, both migration directions
Single organisation with multiple farmsUp to 25 farms under one org in the core
Cooperative treasury and member ledgerPooled accounts, advances, payout runs
Farm Connects marketplaceScoped paid data access, sliding-scale pricing
AI agent seats and automated forecastingAgent assignment, nightly model runs
Cross-network analytics and benchmarkingRequires the multi-tenant warehouse
Service provider dispatch and matchingProvider mobile, job routing, payouts
SSO, SCIM and compliance reportingSAML, directory sync, retention policies
Managed hosting, backups and support SLACloud edition only
Changelog

What shipped in the open tree.

Community releases follow a six-week train. Every entry below is tagged in the public repository.

v2.4.0
24 July 2026
Minor

Inventory traceability and faster maps

AddedBatch traceability on stores — every input consumption now links back to a field and a season.
AddedVector map tiles with an offline cache, replacing the raster tile server. Field maps render roughly 4× faster on low-end Android.
AddedKiswahili translations for the entire mobile app, contributed by the Meru user group.
ChangedAudit log moved to a partitioned table; retention is now configurable per farm.
FixedOffline queue no longer duplicates milk records when a phone reconnects mid-sync.
v2.3.2
19 June 2026
Patch

Sync and permissions fixes

FixedRole changes now invalidate existing sessions immediately instead of at next login.
FixedM-Pesa statement import handled reversed transactions as income. Reimport is safe and idempotent.
FixedPostGIS 3.4 compatibility for plot area calculations near the equator.
v2.3.0
12 May 2026
Minor

Per-animal milk recording

AddedMilk recording by animal and shift, with lactation curves and dry-off reminders.
AddedBreeding and health event timeline on the animal record.
AddedWebhook events for harvest, milk and payment records.
ChangedHerd list virtualised — instances with 5,000+ animals load in under a second.
v2.2.0
2 April 2026
Minor

Labour, hours and casual crews

AddedCasual labour roster with day rates and per-task hour tracking.
AddedLabour cost now flows into per-field profitability.
ChangedTask assignment supports crews as well as individuals.
FixedWeather reminders fired in UTC rather than the instance timezone.
v2.0.0
15 January 2026
Major

The open core split

ChangedRepository restructured into core/ (AGPL-3.0) and ee/ (enterprise licence). No feature previously released as open source was moved.
AddedSingle-command Docker Compose install with Postgres, PostGIS and the worker.
AddedOpenAPI 3.1 specification published for the full core data model.
ChangedTelemetry removed from self-hosted builds entirely.
Roadmap

What the community edition gets next.

Dates are targets, not promises. Items move when field testing in Nakuru and Meru says they should.

In progressv2.5 · Sep 2026
Multi-farm dashboards in core
Roll-up views across the farms in a single organisation, without the enterprise warehouse.
RFC merged
Offline-first web client
Service-worker sync for the desktop app, matching the mobile queue behaviour.
In review
Spray and input compliance export
Generate GlobalG.A.P.-shaped records straight from field logs.
In progress
Nextv2.6 – v2.7
Pluggable payment adapters
M-Pesa, Airtel Money and bank CSV behind one interface, so communities can add their own.
Design
Weather provider abstraction
Swap in a local station, a national met feed or an open forecast API.
Design
Grain and produce storage module
Bins, moisture readings and shrink tracking between harvest and sale.
Scoping
ExploringUnscheduled
Federated co-op instances
Two self-hosted instances exchanging aggregate volumes without a central server.
RFC open
On-device yield estimation
Small models running in the mobile app, no cloud inference required.
Research
Community translation portal
Move the 11 in-progress language forks into one contributor workflow.
Needs owner
Governance

How we keep the core worth trusting.

No feature clawbacks

Anything released under AGPL stays under AGPL. Enterprise features are added to ee/, never moved out of the core.

Your data, your database

Self-hosted instances ship with full export and a documented Postgres schema. Migrating to or from cloud is a supported path, in both directions.

Public roadmap and RFCs

Substantial changes land as RFCs before code. Co-ops running self-hosted instances get a vote in the release train review.

Run it this afternoon.

One compose file, a Postgres volume and a domain. Bring the cloud modules in later if your network outgrows them.