Deployment models¶
GeoJibe is one codebase and one binary. There are two technical deployment models:
| Model | Typical host | Who operates it |
|---|---|---|
| Shared | app.geojibe.com |
GeoJibe SaaS |
| Self-hosted | A customer or GeoJibe-managed server | See below |
Self-hosted GeoJibe is commercially called Dedicated when we install and manage the server, or On-Premise / On-Site when the customer does. Those labels are operational, not software editions. They use the same .deb, binary, geojibe-setup, authentication policy, entitlements, and features.
Set the compatibility value with ENCIVA_DEPLOYMENT. Unknown values are rejected at startup. If the variable is unset, GeoJibe uses the legacy On-Site alias so existing self-hosted installs do not become Shared (no public signup, no 3-Job limit).
| Value | Meaning |
|---|---|
shared |
Hosted GeoJibe SaaS |
dedicated |
Canonical self-hosted value written by geojibe-setup |
onsite |
Legacy accepted alias for the same self-hosted software |
GET /api/v1/system reports the configured compatibility string (dedicated or onsite). The strings are not different application editions.
Shared¶
Hosted GeoJibe. Customers create an account with email and password. They must verify email before sign-in. Each account has one user and at most three saved Jobs. Disabled Jobs count. Deleting a Job frees a slot. One-off Canvas runs, Recipes, and Sources/Destinations do not count.
Shared requires:
ENCIVA_PUBLIC_URL(absolutehttps://…URL used in verification links and Checkout return URLs — never taken from the request Host header)- Installation SMTP (
ENCIVA_SMTP_HOSTandENCIVA_SMTP_FROM) so verification mail can be sent
Paid Standard subscriptions use Stripe Checkout and the Stripe Customer Portal when ENCIVA_STRIPE_SECRET_KEY, ENCIVA_STRIPE_WEBHOOK_SECRET, ENCIVA_STRIPE_PRICE_STANDARD_MONTHLY, and ENCIVA_STRIPE_PRICE_STANDARD_ANNUAL are set. Missing Stripe configuration leaves hosted trials unchanged and does not fail startup. Portal features (payment method, invoices, cancellation, Monthly ↔ Annual) must also be enabled in the Stripe Dashboard; see Configuration.
Shared can also sell GeoJibe Dedicated and GeoJibe On-Site licenses from Account → Licenses when ENCIVA_STRIPE_PRICE_DEDICATED_MONTHLY / ENCIVA_STRIPE_PRICE_DEDICATED_ANNUAL / ENCIVA_STRIPE_PRICE_ONSITE_ANNUAL and ENCIVA_LICENSE_SERVER_* are set. Dedicated Checkout also collects a hosting region (US, CA, GB, EU). Those products do not replace the hosted Standard subscription. Dedicated and On-Site installations never expose this commerce portal.
The first administrator is not created by customer signup. Signup users are ordinary account members. They cannot manage other customers, SMTP, or server settings.
If the user database is empty, Shared may start without ENCIVA_BOOTSTRAP_ADMIN_*. Optional bootstrap credentials still create an installation SuperAdmin. The SuperAdmin console is at /admin and is shown only to SuperAdmin users. Self-hosted installations keep an installation SuperAdmin but do not show Shared trial or subscription management.
Self-hosted¶
A self-hosted GeoJibe installation. There is no public Create Account page. Create the first administrator with ENCIVA_BOOTSTRAP_ADMIN_USERNAME and ENCIVA_BOOTSTRAP_ADMIN_PASSWORD when the database is empty. There is no Shared 3-Job or 1-user limit. Canvas and processing APIs require sign-in (session or PAT). Anonymous processing is not offered.
ENCIVA_PUBLIC_URL is optional at runtime. Core GeoJibe (authentication, PAT/API, Canvas, jobs, schedules, transforms, local uploads, Sources, Destinations, Job notification email, CLI/SDK) runs without it. Features that must generate a trusted absolute URL still require it when used — for example Google Drive OAuth callback generation. Do not derive those URLs from the request Host header.
Normal host geojibe-setup still configures a hostname, Apache, HTTPS, ENCIVA_PUBLIC_URL, and ENCIVA_COOKIE_SECURE=true. That is the supported browser-facing host install path. Session cookies default to Secure; set ENCIVA_COOKIE_SECURE=false only for local HTTP. TLS is terminated by Apache on host installs. Dedicated and On-Site may instead use Docker Compose, where GeoJibe exposes HTTP and TLS is terminated by an administrator reverse proxy.
On a new self-hosted host, follow Ubuntu / APT: install the geojibe package, then run sudo geojibe-setup. Host setup writes ENCIVA_DEPLOYMENT=dedicated. Existing files that still say ENCIVA_DEPLOYMENT=onsite are valid at runtime and are not rewritten merely because of that alias.
Self-hosted GeoJibe does not use Shared Stripe Checkout, Customer Portal, or webhooks. Stripe configuration is not required.
Personal Access Tokens and /api/v1 belong to the local user database. The CLI and SDK call this installation's API with GEOJIBE_URL and GEOJIBE_TOKEN.
Path-prefix hosting (/geojibe/) and cross-site iframe embedding are not supported modes.
SMTP¶
One server-level mail configuration is used for account verification, Job notifications, and future account email. See Configuration and Job Notifications. Do not put SMTP passwords in logs.
Upgrades¶
Changing ENCIVA_DEPLOYMENT on an existing database does not provision a new VM. Moving a Shared customer to a self-hosted server is an infrastructure step, not a flag flip inside the Shared database.
Existing users, Jobs, schedules, Sources, Destinations, Recipes, secrets, and administrator access stay attached to an installation account created at database migration.