Frequently asked questions

The questions customers actually ask, grouped by topic. If yours isn't here, email [email protected] and we'll add it.

Account & signup

How do I sign up?

Pick a plan from the pricing page, click "Start with this plan", enter your name / email / password, and you'll be redirected to Stripe Checkout. Once payment goes through, your dashboard is ready.

What email verification do you require?

We send a one-time verification link to the address you signed up with. You can use the dashboard before verifying, but you can't add sites until you confirm the email. The link is valid for 24 hours.

I never received my verification email

Check spam first. If it's not there: log in, then watch the dashboard banner — if SMTP2GO failed at signup time, the banner will say so and tell you to email support. Otherwise the link is in flight; SMTP2GO usually delivers within a minute, but provider-side delays of up to 10 minutes happen occasionally. After that, write to support and we'll re-issue.

How do I change my account email?

Not in v1's self-serve UI. Email [email protected] from the address on file with the new address; we change it manually after a confirmation reply.

Can I have multiple users on one account?

Not in v1. Each account has one login. Team accounts are on the roadmap; if you need shared access today, the workaround is sharing the credentials, ideally with a password manager.

Adding sites

How do I add my first site?

Dashboard → "Add Site" → "Guided Setup". The wizard takes you through three steps: enter your domain, point DNS, pick your application. Once DNS resolves to our IP, the site provisions automatically and shows up live on your dashboard.

What's the difference between guided and manual mode?

Guided mode walks you through the full flow with explanations and a DNS-check helper. Manual mode is a single form for users who already know exactly what they want. Both create the same end result.

Can I import a site from another host?

Yes, in two phases. First add the domain on CloudMagnus and let provisioning finish (you'll need to point DNS, which means a brief switchover window). Then upload your site files via SFTP and import your database via phpMyAdmin (Advanced Settings → CloudPanel UI). The full migration guide is at /docs/domain-transfer.

What domains can I use?

Any domain you control, registered through any registrar. We don't sell domains; you bring your own. Subdomains work too (e.g. app.example.com) — just make sure the parent zone is yours.

Why is my site stuck on "setting up"?

Most often: DNS hasn't pointed to our IP yet. The dashboard's setup page shows what we're checking and which resolvers we're using; if those still see your old IP, the setup waits. Use whatsmydns.net to confirm propagation. If DNS is correct and the page still shows "setting up" after 10 minutes, write to support with your domain.

How long does provisioning take?

Once DNS resolves: usually under 60 seconds for static / php / nodejs / static, 1-3 minutes for WordPress / Laravel / Django (because of the app scaffold + dependencies). The dashboard surfaces real-time progress.

DNS

What DNS records do I need?

Two A records both pointing at your CloudMagnus server IP (shown in the wizard):

@     A     <your CloudMagnus IP>     TTL 300
www   A     <your CloudMagnus IP>     TTL 300

Apex (@) is required; www is recommended so visitors who type the www form land on the same site.

How long does DNS propagation take?

Modern resolvers (Cloudflare 1.1.1.1, Google 8.8.8.8) typically pick up changes within 1-5 minutes. Some ISP resolvers cache more aggressively; full global propagation can take up to 24 hours. We poll every 60 seconds; the moment our resolver pair sees the right IP, your site moves to the next provisioning step.

Can I use Cloudflare with proxy mode?

Not while DNS verification is pending. Cloudflare proxy mode hides the origin IP, so our resolver can't confirm your domain points at us. Set the records to "DNS only" (grey cloud) until your site is live; after that, you can flip the proxy on if you want Cloudflare's CDN/firewall in front.

What if my registrar doesn't let me set A records?

That's unusual; most registrars do. If yours doesn't (some bundle DNS with managed hosting), you can either (a) move DNS to a free DNS host like Cloudflare or DigitalOcean and update the registrar's nameserver setting to point there, or (b) ask the registrar to change DNS to your CloudMagnus IP on your behalf.

Can I use a subdomain instead of an apex?

Yes. Set app.example.com A <your IP> TTL 300 instead of the apex record. The wizard accepts subdomains; only the application logic changes (no www variant for a subdomain).

SSL certificates

How does SSL work on CloudMagnus?

Once DNS is verified, we automatically request a Let's Encrypt certificate for your domain (and the www variant if you set it). LE issues within seconds; the certificate auto-renews 30 days before expiry via CloudPanel's cron, no action required.

What's CAA and do I need it?

CAA (Certificate Authority Authorization) is a DNS record that limits which CAs can issue certificates for your domain. If you have a CAA record that doesn't include letsencrypt.org, LE will refuse to issue. Most domains have no CAA record at all (which means any CA can issue) — that's fine. If you do have one, add 0 issue "letsencrypt.org" as an additional CAA record.

SSL issuance failed for my domain

Three usual causes: (1) DNS not yet propagated to all resolvers; (2) a CAA record blocking LE; (3) you've hit LE's rate limit (5 cert requests per domain per week). The dashboard shows which one applies. Cases 1 and 2 are operator-fixable; case 3 means waiting until the rate-limit window resets.

Can I use my own SSL certificate?

Yes, via CloudPanel's Advanced Settings (the "Open in CloudPanel" link on your site detail page). Upload the cert and key there. The dashboard's auto-renew won't interfere — it only manages LE certs we issued.

What about wildcard certificates?

v1 issues per-hostname certs (apex + www). Wildcards (*.example.com) require DNS-01 validation and are not in the v1 wizard. If you need one, add it via CloudPanel and we'll keep our hands off the renewal.

Framework specifics

Which WordPress version comes pre-installed?

The latest stable release at the time of provisioning, downloaded via wp core download. The install screen is left visible at / so you can set the admin user and email yourself. The database connection is already wired into wp-config.php.

Can I install a custom Laravel version?

The default scaffold uses composer create-project --prefer-dist laravel/laravel, which pulls the latest stable. If you want a specific version, delete the contents of htdocs/ via SFTP and run composer create-project laravel/laravel:^10.0 . over SSH.

How do I deploy my Next.js app?

The scaffold gives you a placeholder Next.js project on Node 22. Two paths: (a) develop locally, then upload your built .next/ folder via SFTP and run next start over SSH; (b) push your source via git/SFTP and build on the host (npm install && next build). v1 doesn't run a build pipeline for you; the worker port is yours.

Where does my Node.js app run?

The provisioning step allocates an upstream port (in the 8000-8999 range) and writes a placeholder server.js that listens on it. Nginx proxies your domain to that port. To run your own app, replace server.js and use the same port (it's stored in the placeholder; you can also see it in CloudPanel's Node.js settings page).

How do Python virtualenvs work here?

The scaffold creates a virtualenv at ~/venv for the site user. SSH in as that user, source the venv (source ~/venv/bin/activate), and pip-install whatever your app needs. CloudPanel's vhost is configured to launch your app on the allocated port; your app.py (or whatever entrypoint) needs to import that port from environment.

Can I run Django with Postgres instead of MySQL?

Out of the box we provision MySQL. To switch to Postgres, install psycopg2 in your venv, install Postgres on the server (CloudPanel doesn't manage it for you in v1), and update DATABASES in settings.py. The bundled MySQL credentials in .env can be ignored or removed.

Where do I put my static HTML files?

Upload to htdocs/ via SFTP. The placeholder index.html can be deleted or overwritten. Nginx serves the directory directly with index.html as the index file. No other config needed.

Can I use a reverse proxy with WebSockets?

Yes, but you'll need to enable WebSocket upgrade in CloudPanel's reverse-proxy vhost settings (Advanced Settings → vhost). The wizard ships the basic upstream URL; WebSocket and other forwarding headers are exposed in CP's UI for fine-tuning.

Site operations

How do I view error logs?

Site detail page → Logs tab. Shows the recent error log entries. For deeper investigation (access logs, app-specific logs), open CloudPanel and use the file manager to navigate to ~/logs/.

How do backups work?

Daily automatic backups, retained for 14 days. Backups run at 3:00 AM in your account's timezone. Manual backups are also available from the Backups tab — useful before a risky deploy. Restoration is one-click from any retained backup.

Can I create a staging environment?

Yes, from the Staging tab. We create a parallel site at staging-yoursite.<your-domain> with a copy of your files and database. Push-to-live is one click; the staging copy stays around until you delete it.

How do I add cron jobs?

Site detail page → Cron tab → Add Cron Job. Standard 5-field cron syntax (e.g. */15 * * * *) plus the command to run. The job runs as your site user, not root.

How do I configure URL redirects?

Site detail page → Redirects tab. Add From and To paths plus the redirect type (301 permanent or 302 temporary). The redirects apply at the nginx level, before your application sees the request.

What happens when I delete a site?

The dashboard does the delete, then CloudPanel removes the vhost, the site files, the database, and the database user. The retained backups are kept for 14 days from the moment of deletion in case you need to restore. After that, everything is gone.

Performance & limits

What's the page-cache behavior?

Static files (HTML, CSS, JS, images) are served by nginx with sensible cache headers. PHP / Node app responses are not page-cached at the proxy layer in v1 — your application is responsible for its own response caching. Customer feedback drives whether we add a built-in proxy cache later.

How do I purge the cache?

Site detail page → "Purge Cache". Clears nginx's static-asset cache and any per-application cache plugins (WordPress, Laravel) where we know how. After purging, the next request rebuilds.

Are there bandwidth or request limits?

Per the pricing tier. Within those limits there's no per-request charge. If you start to approach a limit, the dashboard tells you; if you blow through one, we email and ask whether to upgrade rather than silently throttling.

Where are your servers located?

v1 runs out of a single EU region (operator's choice; pick depends on tier). Multi-region routing is on the roadmap. If your traffic is global and latency matters, fronting CloudMagnus with Cloudflare's free tier gives you a CDN cheaply.

Billing & plans

How am I billed?

Monthly, charged at signup and on the same day each month after. Stripe handles payment; statements show "CloudMagnus".

Can I change my plan mid-cycle?

Yes. Dashboard → Billing → Change plan. Pick a new tier, confirm. Stripe charges or credits the prorated difference instantly; the new site limit applies the moment Stripe processes the change.

What if my payment fails?

Stripe retries up to 3 times over a week. During the retry window, your sites stay live but the dashboard shows a "payment failed" warning. If all retries fail, the platform suspends the account: sites become inaccessible but aren't deleted, giving you time to update payment.

Can I get a refund?

Within 7 days of signup: full refund, any reason, same-day processing. After 7 days: prorated refund on cancellation if there's a documented operational issue from our side; otherwise the standard cancellation flow applies.

Do you offer annual billing?

Not in v1. If you specifically want an annual contract for procurement, write to support and we'll work something out as a one-off.

Security & compliance

How is my data secured?

Multiple layers: TLS for every customer-facing connection (LE certs auto-renewed); per-site Linux users so one site can't read another's files; passwords stored hashed (bcrypt cost 12); session cookies HttpOnly + SameSite=lax; CSP3 with strict script-src on every dashboard page; CSRF double-submit on every state-changing route. The full security review is in our internal docs and we publish material findings here when we resolve them.

Can I enable two-factor authentication?

Not in v1's self-serve UI. 2FA is on the roadmap. If you need stronger account protection in the meantime, use a password manager + a long random password.

Do you offer GDPR/HIPAA compliance?

GDPR: yes — we're EU-based, we don't sell data, and we'll sign a DPA on request. HIPAA: no — we don't currently offer a Business Associate Agreement and the host's compliance posture isn't HIPAA-attested.

Where do you store my passwords?

The password you use to log into CloudMagnus is hashed with bcrypt (cost 12) and stored that way. We never see the plaintext. Site passwords (SFTP, database) are generated by the platform, written to CloudPanel's vault, and shown to you once when needed; we don't keep them in our application database.

Support

How do I get help?

Email [email protected]. Include your account email, the affected domain (if any), and what you're trying to do. The dashboard's AI assistant is also available for quick questions; it has access to our docs and can answer most "how do I" things in seconds.

What's your response time?

Same-day on Business and above tiers; next-day on Starter and Growth. "Same day" means within working hours in our operator's timezone (UTC+1). Outage-level issues escalate immediately regardless of tier.

Do you have a phone number?

Not at launch. The operator is one person; phone support doesn't scale to that headcount yet. Email replies are usually within an hour during working hours, often faster.