Offline-first beekeeping records — a free hosted service and self-hostable software.
For hobby and professional beekeepers alike.
Openbeehive keeps your whole bee year in one place: apiaries, hives, queens, inspections, tasks and harvests — cleanly documented. The app is offline-first: it stores everything in a local database on your device and syncs to the server when you're online, so it stays fast and fully usable out in the bee yard, with or without a signal.
Status: v0.1.0 — first public release. Already useful; expect rough edges.
- Complete hive records — every inspection with queen, brood, stores, varroa, behaviour and photos, chronological per colony.
- Queens & breeding — international marking-colour scheme, origin and full reign history.
- Location history — follow each hive across apiaries and years.
- Treatment log & harvests — batches, withdrawal periods, honey lots with best-before; audit-ready.
- QR codes — print a label per hive and scan straight into its record.
- Sync & sharing — conflict-free multi-device sync (HLC + per-field LWW + OR-Sets), with apiary-level sharing.
- Multi-language — English, German, French, Spanish, Italian.
- Your data, your choice — use the free hosted service or self-host.
BEEHIVE_DEPLOYMENT_PROFILE sets sensible defaults; every option is individually
overridable.
| Profile | Database | Blob storage | Target |
|---|---|---|---|
cloud |
PostgreSQL | MinIO / S3 | central public service, scaling |
selfhost |
SQLite | local filesystem | one beekeeper, one server, one binary |
BEEHIVE_DATABASE_DRIVER=postgres|mysql|sqlite
BEEHIVE_DATABASE_DSN=...
BEEHIVE_BLOB_BACKEND=minio|fs
The same binary covers both worlds: a Postgres + MinIO cloud service, or a single binary with an embedded SQLite file and a data folder — no Docker needed.
- Frontend: SvelteKit (Svelte 5 runes), mobile-first PWA, local-first (SQLite-WASM on OPFS).
- Backend: Go, API via Connect-RPC (gRPC + HTTP/JSON).
- Auth: OIDC, multiple providers.
- Database (pluggable): PostgreSQL · MySQL · SQLite.
- Blob storage (pluggable): MinIO/S3 · local filesystem.
Requires Go 1.25+, Node 24+ and buf.
cp .env.example .env # BEEHIVE_DEPLOYMENT_PROFILE=selfhost
make proto # generate Go + TypeScript stubs from the .proto contract
make build # build the app, embed it, compile the server
./server/bin/openbeehive # serves the app + API at :8080docker compose up -d # Postgres + MinIO + the server (which serves the SPA)A prebuilt image is published to the GitHub Container Registry on each release:
docker run -p 8080:8080 ghcr.io/johnnycube/openbeehive-app:latestSee the self-hosting guide for full configuration.
make proto # generate stubs
make run-server # backend on :8080
make dev-app # Vite dev server on :5173See CONTRIBUTING.md for conventions and architecture,
and the documentation for design deep-dives.
proto/ Connect-RPC contract (.proto) — source of truth for the API
server/ Go backend (config, auth, storage, sync, service handlers, embedded SPA)
app/ SvelteKit PWA (local-first store, sync engine, routes, components)
- openbeehive-site — marketing site (openbeehive.org)
- openbeehive-docs — documentation (docs.openbeehive.org)
Openbeehive is licensed under the GNU AGPL-3.0. If you run a modified version as a network service, you must make your modified source available to its users.