Platform overview

Ownership, surfaces and core flows

Last verified 8 August 2026 · source-backed

Mivama is a control-plane-driven managed WordPress platform. Browser-facing applications do not configure Linux directly: customer intent becomes validated Frappe data, then narrow privileged workers apply it.

Core rule: Frappe/Mivama Core owns business truth. Stripe owns payment truth. Each WordPress tenant owns live site content. Workers reconcile those systems through explicit jobs and versioned records.

Product surfaces

SurfaceResponsibilityRuntime
Mivama PortalCustomer UI, authentication, checkout, onboarding, support and service controlsNext.js on 127.0.0.1:3110
Frappe + Mivama CoreCustomers, legal acceptance, billing mirrors, services, desired state, jobs and auditFrappe bench on 127.0.0.1:8011
StripeCheckout, payment methods, recurring subscriptions, invoices and payment eventsExternal
Hosting runnerClaims provisioning jobs and runs allowed Ansible playbooksRoot systemd service
WordPress tenantsIsolated production workloads and customer dataPer-tenant Compose projects
Migration runtimeReceives connector uploads and imports a source siteGateway plus privileged worker
WordPress AI StudioDevelopment copy, Codex workflow, validation and controlled deploymentNext.js UI plus root worker

Golden customer path

Sources of truth

  • Identity and permissions: Frappe User, roles, Customer/Contact links and Portal authorization helpers.
  • Contract: versioned legal documents and acceptance records in Mivama Core.
  • Commercial state: Stripe subscription and invoice IDs mirrored into Mivama DocTypes and ERPNext invoices.
  • Hosting intent: Mivama Hosting Service plus immutable desired-state generations.
  • Actual infrastructure: tenant manifest and runner-reported job result.
  • Migration: one Mivama Hosting Migration per transfer attempt, with explicit phases.
  • Studio: Studio database owns workspaces/jobs; Frappe owns customer eligibility and hosting target.

Safety model

Public web applications never receive Docker socket or unrestricted host credentials. Root work is concentrated in dedicated workers whose action maps are fixed in code. Desired-state hashes, service generations, per-service locks, backups, health checks and audit events make mutations traceable and repeatable.

Repository starting points

  • Portal: /home/frappe/mivama-portal
  • Frappe app: /home/frappe/frappe/frappe-bench/apps/mivama_core
  • AI Studio: /home/frappe/websitebuilder.wiaryle.com
  • Runtime runner: /opt/mivama/runner
  • Tenant root: /srv/mivama/tenants