Connect Adhara
Gravity ships with zero backend dependencies — everything runs on local JSON files. Adhara is the real system behind it, for when you're ready to scale past one editor on one machine.
Local JSON. No setup, no signup.
Clone Gravity and all of this already works, stored as plain JSON files under data/content/ — nothing to install, nothing to configure, nothing running in the cloud.
Full editor, drafts, publish state — one JSON file per post or event.
Register, log in, courses, community, resources, certificates, profile — a real portal, fully local.
A simple local contact list for anything you collect from your site.
This is real, working storage, not a demo mode — plenty of sites never need anything more.
What Adhara adds
Local JSON is one file per record on one machine — great until you need more than one editor, more than one server, or data that survives a redeploy. Adhara is EIM's backend platform: a real multi-tenant database, staff accounts with real logins, a CRM, and a hosted admin dashboard your team can use from a browser — no JSON files to hand-edit.
- Real database — survives redeploys, works across multiple servers
- Staff accounts — invite teammates instead of sharing one login
- CRM & leads — every form submission and signup lands in one place
- Course & community authoring — build content from Adhara's dashboard, not JSON
- Commerce — products, checkout, and orders
Two levels, one at a time
Content & customer portal
Set three environment variables and Gravity auto-detects Adhara — no code changes, no purchase. This alone unlocks:
- Blog & event content pulled from Adhara
- The full customer portal — real accounts, courses, community, certificates
- Newsletter & form submissions routed into Adhara
Just needs an Adhara workspace and an API key.
Staff admin & content management
Logging into /admin as staff, and creating, editing, or deleting blog posts, events, and commerce from Gravity's admin panel, all go through the Adhara SDK — a separate, licensed Python package.
The SDK is not open source and isn't included in this repo. It's sold separately by EIM Global Solutions. Without it, /admin stays locked and Gravity keeps using local JSON for anything that needs it.
Connect in three steps
Get your workspace credentials
From your Adhara workspace dashboard, grab your API key (Settings → API Keys), your workspace slug, and your workspace ID (UUID). Don't have a workspace yet? Contact EIM Global Solutions.
Add three lines to .env
These are the same three variables everywhere else in Gravity — nothing new to learn.
ADHARA_API_KEY=adhara_pk_... ADHARA_WORKSPACE=your-workspace-slug ADHARA_WORKSPACE_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Restart — that's it
Gravity auto-detects the new variables. Blog, events, and the customer portal switch from local JSON to Adhara
immediately — no code changes. Restart with make dev locally, or redeploy if you're already live.
Want staff admin access too?
The three steps above unlock content and the customer portal. To also unlock /admin —
staff logins, and creating or editing content from a browser — you'll need a license for the Adhara SDK, which isn't part of this open-source repo.