Cresdock for hosting providers
Run one server, resell isolated workspaces to your own customers — provisioned automatically from WHMCS or Blesta, each customer walled off from every other, on one flat license instead of a per-seat toll.
How provisioning actually works
- Customer orders a plan in WHMCS or Blesta
Your product's configuration options carry the caps — disk, RAM, CPU, burst, upload/download speed, monthly upload allowance — the same fields you already fill in for any other hosting product.
- The module calls Cresdock's provisioning API
A versioned REST API (
/api/v1) creates the account with those caps applied. Calls are idempotent — retrying an order that already provisioned adopts the existing account instead of erroring or duplicating it. - The customer gets an invite, never a password you handled
Invite mode emails a set-your-own-password link directly to the customer. Their password is never generated by, or transmitted through, your billing system.
- Suspend, unsuspend and terminate follow your billing events automatically
A missed payment suspends the workspace; catching up unsuspends it; cancellation terminates it — wired to the same hooks WHMCS/Blesta already fire for every other product.
Built for a full server, not just a happy path
- Queues instead of failing. When the server is at capacity, new orders queue (oldest first) and activate the moment a slot frees up — or you can force one through immediately if you choose to override it.
- One trial per customer, enforced. A second trial order from someone who already has one running is held back automatically, so trial abuse doesn't quietly eat capacity meant for paying customers.
- Customers aren't left guessing. Anyone queued gets an email with their position and an estimated activation time; trial customers get a reminder before their trial ends.
- Nothing lingers in limbo. A terminated service that never got fully cleaned up flips to cancelled automatically after a short grace window.
Why the isolation matters for a resale business
This is the part a generic Docker panel doesn't have an answer for. Every customer's apps run in their own containers on their own private network — not a shared one with permissions hoping to hold. One tenant's app cannot reach another tenant's files or unauthenticated ports, because there is no shared network path between them to begin with. That is the difference between "we configured this carefully" and "this is architecturally not possible" — the second one is what you want to be able to tell a customer who asks.
Common questions
Does Cresdock integrate with WHMCS?
Yes — a WHMCS server module handles account creation, suspension, unsuspension and termination automatically from your existing product/order flow. Plan limits map directly to WHMCS product configuration options.
What about Blesta?
Blesta is supported too, with a module and admin plugin for selling and managing workspaces the same way.
Can my customers see or reach each other's data?
No. Each customer's apps run in their own Docker containers on their own private network, not a shared one — one tenant cannot reach another's files or unauthenticated ports.
What happens when my server fills up?
New orders queue automatically (FIFO) and activate the moment a slot frees up — no manual intervention needed, though you can force one through anyway if you choose to.
Do I need separate accounts or logins to manage this?
No — provisioning happens through your existing WHMCS or Blesta admin, the same place you already manage every other product.
How much does it cost to run this as a business?
One Pro license per server, unlimited resold customer workspaces on it — not a per-seat toll. See the pricing page for current numbers.
See also: Pricing · Setup guide · vs Cloudron