Resellers
This page is for when you want to delegate hosting to someone else without handing them the whole server. You can turn an existing customer account into a reseller, give them a fair set of limits (via a reseller package), and—if you want—assign their own IP pool. They can then create and manage their own customer accounts inside the boundaries you set.
What you can do here
- Create a reseller from an existing account, choosing a Reseller Package and optional IP addresses.
- View all resellers at a glance: who they are, which package they’re on, and which IPs they own.
- Edit a reseller (switch package, adjust assigned IPs).
- Remove reseller privileges and return the account to a normal customer (ownership resets to root).
How it works (under the hood, simplified)
- A Reseller Package defines ceilings: number of accounts, disk space pool, per-account CPU/RAM/process limits, how many IPs they can be given, whether they’re allowed to grant shell access or unlimited disk to their customers, etc.
- When you create a reseller, the system writes a reseller profile file, sets the account to own itself (so they can manage downstream accounts), and, if needed, adjusts the DNS zone ownership for the main domain.
- If you assign IPs, those IPs become the reseller’s pool; they can use them for their customers. The server’s Shared IP is always allowed even if assigned elsewhere.
Creating a reseller (step by step)
- Select account — pick the existing customer you want to elevate.
- Select reseller package — this sets their limits. You can create packages in the Reseller Packages section first.
- Pick IP addresses (optional) — if the package allows IPs, choose up to the allowed number. If you skip this and the package expects IPs, the page will prompt you to add at least one.
- Click Create Reseller. The page will confirm when done.
Editing a reseller
- Click Edit on a row, change the package and/or IPs, then Save.
- The reseller’s shared IP will be kept if it’s still in the new selection; otherwise the first selected IP becomes their shared IP. If no IPs are selected, they fall back to the server’s shared IP.
Removing reseller privileges
- Click Remove. The reseller profile is deleted and the account’s owner resets to root.
- Any sessions the account had open are invalidated for safety.
What shows in the table
- Account — the reseller’s system user and their primary domain.
- Reseller Package — the package name driving their limits.
- IP Addresses — the IP pool they can allocate. If blank, it means they can use the server’s shared IP only.
- Actions — edit or remove privileges.
How packages and IP limits play together
- maxips (from the reseller package) is the hard cap on how many IPs you can assign to that reseller.
- When you change the package, the IP picker updates to reflect available addresses and the new max.
- The server’s Shared IP is always selectable even if other resellers also use it. Dedicated IPs are exclusive.
What limits the reseller actually enforces
- maxaccounts — how many customer accounts they can create.
- maxdiskspace — the total disk pool they can distribute across their customers (0 = unlimited).
- Per-account ceilings — CPU %, RAM (MB), processes, inodes, I/O MB/s, and IOPS. These are the maximums a reseller can assign in their own packages.
- Policy toggles — whether the reseller is allowed to grant shell access, and whether they may issue “unlimited” disk to their customers.
DNS defaults for resellers
- When you promote an account, it inherits server-level DNS defaults (TTL, nameservers). You can tweak those in their reseller file later if needed.
- The main domain’s DNS zone ownership is moved to the reseller, so they fully control their namespace.
Friendly tips
- Give resellers 2–3 dedicated IPs only if they truly need them (branding, SSL isolation, mail reputation). Otherwise keep them on the shared IP.
- Start with a package that has sane per-account caps (e.g., CPU 200–300%, RAM 2048 MB, processes 20–40) and adjust later based on real use.
- If you’re unsure about shell access, enable it only for trusted resellers—and prefer Jail Shell in their packages.
Common messages and what they mean
- “Please select at least one IP address” — the chosen package allows IPs, so pick at least one.
- “Number of selected IP addresses exceeds the package limit” — remove extra IPs or upgrade the package.
- “Package not found / parse error” — check the package file; recreate it if it’s corrupted.
- “Account information data row returns false” — the account file looks off; verify the account exists and its YAML is valid.
Behind the scenes (for the curious)
- When you create, edit, or remove a reseller, the system refreshes internal listings so the UI stays in sync.
- Available IPs are discovered from the host and exclude those already assigned to other resellers (shared IP is always allowed).
Heads-up: Changing a reseller’s package or IP pool updates what they can allocate going forward. It does not forcibly change existing customer accounts unless the reseller edits those accounts.