Open source · BSD-3-Clause · self-hostable

Know what your field is doing - and why

OpenFarm is an open source crop intelligence platform: Sentinel-2 imagery, weather, soil and time fused into one explainable picture of every field you manage - with the observation, its size, its window, and the conditions behind it.

Deploy your own

Block A1 · 12.40 ha · rice

8 Feb 2026

High

NDVI fell 18% over 14 days, from 0.71 to 0.58.

Why, from three sources

Rainfall over 7 days2 mm
Evapotranspiration demand31 mm
Water balance-29 mm

Water stress, not disease. Check irrigation before you spray.

10 m

Sentinel-2 resolution

24 mo

history on day one

0

API keys required

BSD-3

no seat limits

Multi-index

One field, four ways to read it

Same scene, same date, four indices. Vigour, canopy structure, soil-adjusted growth and surface water - each on a fixed scientific scale, so the same colour always means the same value across every field you own.

NDVI0.703

Vegetation vigour

-0.20.9
EVI0.541

Canopy structure

-0.20.8
SAVI0.488

Soil-adjusted

-0.20.8
NDWI0.118

Surface water

-0.50.5

The stressed patch in the north-east shows in every index - that is what tells you it is real and not a cloud artefact.

Time is the fourth dimension

A whole season, scene by scene

Twenty-four months of Sentinel-2 backfilled on the day you draw a boundary. Green-up, peak, senescence - and the week something went wrong.

14 Oct0.24
21 Nov0.38
28 Dec0.61
14 Jan0.71
08 Feb0.70
02 Mar0.52

Three layers

Observation, intelligence, delivery

Four observation planes stack into one geometry. Layer B reads across all of them; layer C is only ever a way out. Each boundary is a real service boundary - run the whole stack, or take the observation layer and put your own models on top.

Boundaries

Drawn, imported, or detected by the FTW model

Satellite

Sentinel-2 at 10 m, four indices, weekly

Weather

Open-Meteo daily history plus 7-day forecast

Soil

SoilGrids 250 m worldwide, POLARIS 30 m in the US

CMap · charts · share links · API
BAnomalies · phenology · suitability · risk
boundaries
satellite
weather
soil
A · observation

Reproducible by construction

Every pixel traces back to a scene

Four public steps, no black box in the middle. Every value in the UI carries the satellite, the date, the cloud cover and the colormap that produced it.

01

STAC search

Element84 catalogue, filtered by geometry, date and cloud cover.

02

COG generation

Index computed per scene, written to object storage as a cloud-optimised GeoTIFF.

03

TiTiler tiles

Served with a fixed colormap, so two fields are always comparable.

04

Stats & provenance

Zonal statistics stored alongside the scene that produced them.

Re-run any analysis and get the same answer - or file an issue with the scene ID and someone else can reproduce it.

Below the surface

Soil, by depth, everywhere

Texture, pH, organic carbon, CEC and hydraulic properties for every layer down to 200 cm - pulled automatically the moment a field exists. This is what turns "NDVI is down" into "and the topsoil can't hold water".

SandSiltClaySoilGrids · 250 m
0-5 cm
pH 5.3
5-15
pH 5.6
15-30
pH 6.1
30-60
pH 6.4
60-100
pH 6.6

Clay fraction rises with depth - water sits at 30-60 cm and the topsoil dries first.

Yours to run

One command, any VPS

Next.js, FastAPI, PostGIS, MinIO and TiTiler in one Docker Compose file. No Mapbox token, no per-hectare pricing, no vendor account standing between you and your own field data.

  • Runs on a free-tier Oracle Cloud VM
  • MapLibre and PMTiles - no basemap token needed
  • Multi-tenant with owner / admin / member / viewer roles
  • English and Spanish, light and dark
bash

# clone, configure, run

git clone github.com/superzero11/OpenFarm

cp .env.example .env

docker compose up --build

# web :3000 · API :8000 · tiles :8080

Questions

Answers before you deploy

The things people ask before running OpenFarm on their own fields.

What is OpenFarm?

OpenFarm is an open source crop intelligence platform. It fuses Sentinel-2 satellite imagery, daily weather and soil data into per-field insights, and shows the evidence behind every alert: which index moved, over what window, and the conditions that explain it.

How does OpenFarm detect crop stress?

It compares each new scene against the field's own history rather than a fixed threshold. When an index drops, OpenFarm reads rainfall, evapotranspiration and soil water balance for the same window, so the alert tells you whether it is water stress, not merely that something changed.

What satellite data does OpenFarm use?

Sentinel-2, the European Space Agency's 10 m multispectral mission, searched through the public Element 84 Earth Search catalogue. OpenFarm computes NDVI, EVI, SAVI and NDWI per scene, skips scenes above the cloud threshold, and backfills 24 months of history when you draw a boundary.

What soil data does OpenFarm use?

ISRIC SoilGrids supplies texture, pH, organic carbon, CEC and hydraulic properties worldwide at 250 m, and POLARIS supplies 30 m coverage across the United States. Both are pulled automatically for every layer down to 200 cm the moment a field boundary exists.

Is OpenFarm free?

Yes. OpenFarm is BSD-3-Clause licensed with no seat limits, no per-hectare pricing and no vendor account. Run the whole stack yourself at no cost beyond your own server, or try the hosted demo first. No third-party API keys are required, including for the basemap.

Can I self-host OpenFarm?

Yes, that is the default. Next.js, FastAPI, PostGIS, MinIO and TiTiler start from a single Docker Compose file on any VPS, and Terraform can provision the machine for you. The live demo runs on a free-tier 2 OCPU, 12 GB instance, which fits the entire stack.

Which crops does OpenFarm support?

Cereals, pulses, oilseeds, vegetables, fibre and perennial crops each ship with a suitability profile: temperature, rainfall, pH, drainage and salinity envelopes scored against your field's real soil and climate. Profiles are plain data in the repository, so adding a crop is a pull request.

How often is the data updated?

Sentinel-2 revisits most fields every few days, and OpenFarm recomputes indices weekly from the newest usable scene. Weather refreshes daily alongside a 7-day forecast. Soil is fetched once per field, because soil properties change over decades rather than weeks.

Built in the open, for everyone's fields

From smallholders to enterprises. BSD-3-Clause, no seat limits, no lock-in, and contributions are genuinely wanted.

Acknowledgements

Built on other people's work

OpenFarm is a thin layer over decades of open source and open data. These projects do the hard parts, they are free for anyone to use, and self-hosting OpenFarm means standing on their work too.

Also built with

PostGIS · TiTiler · rasterio · TorchGeo · Protomaps · Auth.js · next-intl · Alembic

Live demo hosting

Oracle Cloud Infrastructure runs openfarm.earth on an Always Free Ampere instance, the same 2 OCPU and 12 GB anyone can claim.