Create and edit a profile
A profile is a named plan, such as Basic or Pro. It holds the limits and policies a hosting runs with, and you apply it to a site when you create it or later. Editing a profile changes the plan only. Sites keep what they were last given until you apply the profile again. See Apply a profile to sites.
Before you start
Section titled “Before you start”- Sign in with a role that holds Manage hosting profiles. Owners and Administrators do. Profiles & limits under Products in the sidebar is hidden for everyone else.
- Decide the plan: PHP resources, disk size, backup schedule, expiry policy and, if you bill, the price.
- For WordPress add-ons from your own ZIP files, upload them first. See Use the WordPress asset library.
- Open Profiles & limits in the sidebar and click New profile. To start from an existing plan, click Duplicate on its row instead. Hyperion creates
<name> (copy)and opens its edit page with the messageCloned from "<name>" — edit the copy and save. - Fill in the form. The groups are described below.
- Click Create profile. The list shows
Profile "<name>" created.
To change a profile later, click its name or Edit on the list, change the fields and click Save changes.
Profile
Section titled “Profile”- Name: required, unique, up to 64 characters.
- Description: optional, up to 200 characters. It shows under the name on the list and in the profile picker.
PHP & database
Section titled “PHP & database”The first four become the limits of the site’s PHP pool. Database connections is stored with the site and does not limit connections. See Set PHP versions and limits.
| Field | Default | Notes |
|---|---|---|
| PHP memory (MB per request) | 256 | The form accepts 16 to 8192. |
| Max execution time (seconds) | 60 | The form accepts 1 to 3600. |
PHP workers (pm.max_children) |
10 | The form accepts 1 to 200. |
| Recycle a worker after (requests) | 1000 | Enter 1 or more. The hint says “0 = never”, but the agent refuses 0 with “validation failed: PHP max requests must be >= 1”. |
| Database connections (at most, per site) | 50 | The form accepts 1 to 1000. |
- Warn at (MB): the soft limit. Leave blank for none.
- Hard limit (MB): the enforced size. Leave blank for unlimited.
- Over the hard limit: Send an alert (the default) or Suspend the site (+ alert). A site can override this on its own Disk quota card.
The soft limit cannot be larger than the hard limit: the agent answers “validation failed: disk soft cap must be <= disk hard cap”. How the limits are enforced is in Set a disk quota.
Backups
Section titled “Backups”- Automatic backups: Off — back up only on demand (the default), Daily, Weekly or Monthly. The list also shows Every N days with an Every (days) field, but the agent refuses to save a profile with it: “validation failed: backup cadence must be off | daily | weekly | monthly”.
- Keep backups for (days) and Always keep the latest (backups per site): leave blank to use the node’s default.
Applying the profile copies these four values onto the site’s backup settings, including blanks, so dropping a value and applying again returns the site to the node default.
Expiry & price
Section titled “Expiry & price”- Grace period (days after expiry before the site is deleted): default 30. The form accepts 0 to 365.
- Warn before expiry (days, comma-separated): default
30,7,1. Every entry must be a whole number of days. A blank field is saved as30,7,1. - Price, Currency and Billed: optional. Enter the price as
199.00or199,00. Currency takes three letters of an ISO 4217 code such asCZK, and the form uppercases it. Billed is Monthly, Quarterly or Yearly. The list shows a price only when all three are set.
Alerts
Section titled “Alerts”- Slack incoming webhook: optional, must start with
https://. Applying the profile copies it onto the site’s uptime monitor, replacing the monitor’s webhook. - Also e-mail alerts to: comma-separated addresses. Applying the profile adds them to the monitor’s recipients, and they receive alerts in addition to the addresses in Settings, Alerts, Recipients, never instead of them. These are alerts about failed backups, certificates that will not renew and sites that stopped answering. The customer’s care report goes to the site owner’s address, not here.
New-site defaults
Section titled “New-site defaults”- PHP version and Database (MariaDB, PostgreSQL, No database or No preference): the Add website form pre-selects them when this profile is picked.
WordPress
Section titled “WordPress”- Plugins and Themes: one entry per line. Use a WordPress.org slug such as
akismet, or@asset:<id>for a ZIP from the asset library. A trailing!also activates the item. A line that starts with#is a comment. Under each box, Add from library lists the uploaded ZIPs and writes the@asset:<id>!line when you tick one.
Check that it worked
Section titled “Check that it worked”- The list row shows the new plan in words, for example
256 MB · 60 s,10 workers · 50 DB connections, the disk size, the backup cadence and the price. - A New sites: line under the name summarizes the defaults, such as
PHP 8.3 · MariaDB · 2 plugins. - The header shows how many profiles exist and how many sites are on them.
If it fails
Section titled “If it fails”The form reopens with your input and the message above it.
- “validation failed: profile name must not be empty” or “validation failed: profile name max 64 chars”: fix Name.
- A duplicate name: names are unique. The message starts with “entity already exists: profile”. Pick another.
- “price not numeric: …” or “price must be ≥ 0”: correct Price.
- “validation failed: price_currency must be 3 uppercase ISO-4217 letters”: use a three-letter code.
- “validation failed: slack webhook must start with https://”: use the full HTTPS URL.
- “validation failed: expiry warning offsets must be comma-separated non-negative day counts (e.g. 30,7,1)”: fix Warn before expiry.
- “validation failed: PHP memory_limit (MiB) must be >= 1” and similar: a count is below its minimum.