Hosting Model

Multi-tenant hosting with license-controlled packages

Five customer types, three-layer module entitlements (license → package → tenant type), and a complete reseller management system. Every customer gets an isolated tenant with resource quotas and module access controlled by their package.

Customer Types

Five customer archetypes

Domain Only

Customers who only need domain registration and DNS management. No web hosting, no mail — just domain control with nameserver configuration.

Mail Only

Customers who need mail hosting without web hosting. Mail domains, mailboxes, aliases, and spam filtering — but no website provisioning.

Web Hosting

Customers who need websites without mail hosting. Virtual hosts, PHP, Python apps, databases, SSL — but no mail domain management.

Combined

Full-service customers who need both web hosting and mail. Complete access to all hosting modules: websites, mail, DNS, databases, SSL, FTP.

Reseller

Resellers who manage their own customers. Isolated tenant with the ability to create sub-tenants, delegate resources, and manage customer packages.

Module Entitlements

Three-layer access control

Module access is controlled by three layers of entitlement checks. A customer can only use a module if all three layers permit it:

  1. License layer — The server license must include the module. Licenses are checked at startup and define which modules are available (e.g. mail_hosting, reseller_management).
  2. Package layer — The customer's package must include the module. Packages define which modules are available for each customer type (e.g. "Gold Web" includes web hosting but not mail).
  3. Tenant type layer — The customer's tenant type must be allowed to use the module. Domain Only customers can't access web hosting modules, even if their package includes it.

This three-layer gating ensures that licenses control what's available, packages control what's sold, and tenant types control what's accessible. No module is ever exposed without explicit entitlement at every layer.

Package Management

Define what you sell

Package definitions

Create packages with names, descriptions, and module entitlements. Each package specifies which modules are available (web, mail, DNS, database, etc.) and resource quotas.

Resource quotas

Set per-package limits: max websites, max mailboxes, max databases, disk quota, bandwidth. Quotas are enforced at provisioning time.

Tenant assignment

Assign packages to tenants (customers). When a package changes, the tenant's entitlements update automatically. Downgrades respect existing resources.

Usage tracking

Track resource usage per tenant: websites created, mailboxes used, database count, disk space. Compare against package quotas in real-time.

Reseller Management

Complete reseller isolation

Isolated tenants

Each reseller gets an isolated tenant with their own customers. Resellers can create sub-tenants, assign packages, and manage resources — but only within their quota.

Resource delegation

Platform admins allocate resources to resellers (websites, mailboxes, disk space). Resellers distribute these resources to their customers.

Visibility control

Resellers only see their own tenants and customers. Platform staff see all tenants. Customers only see their own resources. Complete isolation at every level.

White-label ready

Resellers can manage their customers through the same panel interface. Customer-facing views are scoped to the reseller's tenant — no cross-tenant data leakage.

Role-Based Access

Four roles, granular permissions

SUPER_ADMIN

Full platform control: manage servers, licenses, packages, resellers, and all tenants. Can access any tenant and override any setting.

ADMIN

Server and tenant management: manage assigned servers, create packages, create tenants, and manage customer resources. Cannot modify platform-wide settings.

RESELLER

Customer delegation: create and manage sub-tenants within their quota. Assign packages to customers, manage customer resources. Cannot see other resellers' tenants.

CUSTOMER

Self-service: manage their own websites, mailboxes, databases, DNS records, SSL certificates, and cron jobs. Cannot see other customers' resources.

Build your hosting business

Deploy a multi-tenant hosting platform with license-controlled packages and reseller management. Get in touch to discuss your hosting model.