Three panels
HostFog gives each kind of user their own panel, each at its own address with its own sign-in, look and app icon:
| Panel | Address | For |
|---|---|---|
| Server Admin | https://server.yourdomain.com |
administrators: the whole server |
| Control Panel | https://panel.yourdomain.com |
hosting customers: their websites, email and files |
| Reseller Panel | https://reseller.yourdomain.com |
resellers: their customers' accounts |
Every sign-in page has Forgotten your password?: one email with a 6-digit one-time code and a reset link, which never reveals whether a login exists. A new password signs that login out everywhere else. Only the people a panel is for can sign in there. "Log in as" opens a customer's own Control Panel and "Return to admin" comes back. Emails send each person to their own panel. hf-admin portals shows, changes or switches them off; the classic address on port 8443 always works for everyone.
Customer panel
| Area | What customers can do |
|---|---|
| Domains | Addon domains (own folder), subdomains, parked domains (alias of a site), change a site's folder |
| DNS zone editor | A, AAAA, CNAME, ALIAS, MX, TXT, SRV, CAA, NS; reset to defaults |
| DNS setup | per domain: who runs its DNS now, use our nameservers or add the listed records there, live ✔/✘ check of every record, zone file download |
| Redirects & IP blocks | 301/302 page redirects, whole-site redirect, block IPs/ranges, or allow-list only some IPs |
| SSL/TLS | Free Let's Encrypt (auto-renews), upload your own certificate + key + chain (checked before use), force HTTPS, see expiry |
| Email accounts | Mailboxes with quotas, a recovery email per mailbox (for "Forgotten your password?" in webmail), forwarders, catch-all, autoresponders, spam filters (score, auto-delete, allow/block lists), SPF/DKIM/DMARC automatic, phone/Outlook settings, Open webmail (no password needed) |
| File Manager | Upload, code editor, rename, copy, move, delete, chmod, zip/unzip, download |
| FTP accounts | Logins limited to one folder, with optional space limits (FTPS) |
| Disk usage | What uses the space: each site folder, mail per domain, databases, logs, backups |
| Backups | One-click full backup, download, restore all or part |
| Databases | Databases, users, privileges per database, sizes, import (.sql/.gz) / export, remote MySQL access by IP/range, phpMyAdmin with single sign-on |
| WordPress Toolkit | Every WordPress site in the account (installed here or uploaded): update WordPress, all plugins, one plugin or the themes; check for hacked files against the official copies; WordPress and plugin auto-updates; maintenance mode; debug mode (errors to a log, never to visitors); new admin password (signs the user out everywhere); clear caches — each change shown live. Admins see every WordPress site on the server, which are behind, and open any customer's toolkit in one click |
| App installer | WordPress (fully set up), Joomla, Drupal, Grav, DokuWiki, PrestaShop, OpenCart, Nextcloud, Matomo — database created automatically |
| PHP | Version per website, limits (memory, upload, time, input vars, time zone, errors) for all sites or one site, list of loaded extensions |
| Node.js apps | Run an app on a domain (Node 18/20/22/24), environment variables, npm install, start/stop/restart, auto-restart on crash |
| Directory privacy | Password-protect any folder |
| SSH / SFTP keys | Key login |
| Cron jobs | Schedules with presets |
| Git | Clone (public or private with a token) or create repositories, pull, switch branch, deploy to a site folder |
| Error pages | Custom 400/401/403/404/500/503 pages |
| Handlers & MIME types | Run other extensions as PHP, show as text or force download; add MIME types |
| Web server per website (PHP page) | Nginx + Apache: Nginx sends images, CSS, JS, fonts and video straight from disk (cached 7 days, compressed) and Apache runs the rest, so .htaccess works; folders that .htaccess protects stay behind Apache. Nginx only: no Apache — fastest, WordPress-style links built in, password-protected folders keep their password, other protected folders are closed, .htaccess is not read |
| Page cache (PHP page) | Per website: Nginx keeps ready-made pages for visitors who aren't logged in (5 min – 1 hour), on both web server modes. Logged-in users, carts, checkouts, admin pages, searches, forms and any page that sets a cookie always get a fresh page. WordPress sites empty their cache by themselves within a minute of any change (post, comment, menu, theme, plugin, update); Clear empties it by hand |
| .htaccess editor | Edit with a safety check: a change that breaks the site (HTTP 500) is rolled back |
| Visitors | Visitors, page views, top pages, referrers, browsers, OS, busiest hours, response codes (7/30/90 days, today live) |
| CPU & memory | Live and 24h / 7-day charts, bandwidth per website |
| Logs | Access, Apache error and PHP error logs; raw log downloads |
Admin panel
| Area | What you can do |
|---|---|
| Accounts | Create (with domain + welcome email), suspend, delete, reset password, change package, log in as the customer |
| Users online | Who is signed in right now (admins, resellers, customers): current page, IP, last active; who was on earlier today. Resellers see only their own customers |
| Resellers | Agencies with their own login and account limit |
| Packages | Disk, domains, mailboxes, databases, price |
| Server health | One page checks everything that can quietly break the server — services, Nginx/Apache config, disk, memory and swap, load, panel and website SSL, firewall, clock, mail queue, DNS of the panel's domain, reverse DNS, spam blocklists, updates and backups — with a one-click fix where it's safe (repair Apache, restart a service, add swap, free up disk space, retry mail, sync the clock, get the panel certificate), shown live in the terminal dialog. Checked every hour; the admin gets an email when something new breaks. Also on the server: hf-admin health |
| Services | Status + restart: Nginx, Apache, PHP, MariaDB, Postfix, Dovecot, SpamAssassin, OpenDKIM, BIND, Pure-FTPd, fail2ban, SSH, cron |
| Resource usage | Server load/memory/disk charts, CPU and memory per account (now, average, peak) |
| Server & updates | OS info, check/install updates, reboot |
| Firewall | Open ports, block IPs server-wide, fail2ban bans |
| PHP & Node.js | Install PHP 7.4–8.5 side by side (where the extra PHP repository publishes the release), switch PHP extensions on/off per version, install/update any Node.js version |
| System packages | Search Ubuntu packages, install or remove (core packages protected), live progress |
| Config files | Edit nginx.conf, apache2.conf, MariaDB, Postfix, Dovecot, SpamAssassin, BIND, SSH, fail2ban, php.ini — each save is checked by the service's own test and rolled back if it fails; last 20 versions kept with one-click restore |
| Backups, Settings, Activity log | as before |
HostFog Webmail
https://webmail.yourdomain.com (also https://panel.yourdomain.com:8443/webmail/) — log in with the full email address and mailbox password, or click Webmail next to a mailbox in the panel (single sign-on).
- Inbox and folders with unread counts (refresh every minute), search (everything / from / to / subject / text), unread & flagged views, pages
- Read: safe HTML view (scripts, forms and frames removed; shown in a sandboxed frame with a strict content policy), pictures from the internet blocked until you allow them (per message, per sender, or always), attachments (open/download), view source, print
- Write: new, reply, reply all, forward (with the original attachments), Cc/Bcc, attachments up to 25 MB, drafts, signature, address book suggestions; sent mail is saved in Sent and the original is marked answered
- Organise: mark read/unread, flag, move, spam/not spam, delete to Trash, empty Trash/Junk, create/rename/delete folders and sub-folders
- Contacts: add/edit/delete, import vCard or CSV, export vCard, people you write to are added automatically
- Autoresponder (with dates) and filters (move, mark read, flag, forward a copy, delete) — the same rules the panel uses, so spam settings set in the panel are never lost
- Settings: name shown to recipients, signature, messages per page, picture policy, phone/computer settings
Security: the mailbox password is never stored in a readable form (encrypted in the session; the key only lives in the visitor's cookie), CSRF tokens on every action, login throttling, 2-hour idle logout, one-time single sign-on links valid for 2 minutes. Mailboxes can only send as their own address.
New in this release
- Spam guard: an account that suddenly sends far more email than usual is paused automatically, and you get an email
- Mail queue: see waiting mail, retry or delete it, or delete everything from one sender
- Read-only staff logins: see everything and answer tickets, but change nothing
- Download all your data: customers get one .zip of their files, databases and mail
- Domain expiry reminders 30 and 7 days before a domain's registration ends
- Weekly summary email for administrators every Monday
- Staff notes and tags on customer accounts, shown on their tickets
- Follow-up emails on day 3 and day 7 for new customers who haven't finished setting up
- Saved replies for support tickets, in the customer's language
- Control panel data backups every night, kept on the server and off it; put one back with
hf-admin panel-restore - Unpaid invoice reminders: reminders after 3 and 7 days, then the account is suspended and switched back on when it's paid
- File limit per package (inodes), with a warning at 90%
- Scheduled maintenance mode: the "back soon" page switches on and off by itself
- Mailbox nearly full: an email to the mailbox at 90%, with how to make room, before mail starts bouncing
- Daily spam summary: what went to Junk, with a "Not spam" link for each message
- Webmail two-factor login with an authenticator app and backup codes, plus an email when a mailbox is signed into from a new place
- Maintenance mode per website: a branded "back soon" page in one click, with a preview link for the customer
- Support PIN: a 6-digit code customers read out on the phone so support knows who they're talking to
- Business overview: charts of new accounts, cancellations and monthly revenue (admins and resellers)
- Webmail on the customer's own domain:
webmail.theirdomain.comwith its own free SSL certificate - Passkeys: sign in with Face ID, a fingerprint, Windows Hello or a security key
- Dark mode, following the computer or chosen per person
- Public status page with 90-day history, incidents and planned maintenance (
/status,/status.json) - Restore one file by browsing a backup; restore as a copy so nothing is overwritten
- Errors explained: website errors in plain words, with what to do
- Image optimiser with automatic WebP
- Copy a website to another domain, database included
- 30-day server graphs: CPU, memory, disk and traffic
- Weekly backup restore test
- Discount codes and free trials for online orders
- Knowledge base (Help) with search, languages and ticket suggestions
- Referral programme with automatic credits
- Webmail filters and forwarding: forward all mail (with or without a copy), filters with several conditions (sender, recipient, subject, mailing list, size, attachments) and several actions, edit, copy and switch off filters
- Webmail dark mode switch (Auto / Light / Dark)
- Speed test: a score from 0 to 100 per website with tips that link to the fix (page cache, image optimiser, WebP, Redis, PHP version, HTTPS)
- Monthly report emailed to each customer: visitors, uptime, space, backups, SSL and speed — also viewable in the panel
- Webmail in 8 languages (English, Spanish, Portuguese, French, German, Turkish, Arabic right to left, Hindi), with a language picker
- Weekly speed test of every website, with an email when one gets slower
- Bulk actions for admins and resellers: suspend, unsuspend, change plan, send a message or delete many accounts at once
- Customer activity log: sign-ins and every change in the account, by the customer or by support, with CSV download
- Approval for resellers: an admin can make a reseller's deletes and whole restores wait for approval (for all resellers or one at a time)
- Two-step approval for risky staff actions (delete an account or reseller, restore a whole backup, switch off two-factor login): password again, or a second administrator approves
Also included
- Two-factor login (authenticator apps, backup codes; can be required for staff) and API tokens with a JSON API at
/api/v1 - Hard CPU, memory and process limits per package (Packages → Enforce limits)
- Python apps (Flask, Django, FastAPI) and a sandboxed web terminal
- Stripe billing: public order page at
/order, automatic accounts, suspension on non-payment, invoices, customer portal - Own invoices: numbered PDF invoices with your company and VAT details, emailed automatically for Stripe payments, or made by hand for bank transfers
- More than one server: extra HostFog servers join the main panel with a join code (
hf-admin node-enable <main IP>); accounts are placed on any server, DNS and billing stay on the main one - Import accounts (Admin → Import accounts): upload a full account backup (
.tar.gzor.tar.zst) from your old server, give a download link, or put the file in/home/hostfog-import. Websites, addon/sub/parked domains, databases, mailboxes with all messages and old passwords, forwarders, DNS records and cron jobs come across; customers keep their passwords - Off-server backup copies (Backups): every nightly backup is also sent to any S3-compatible object storage, optionally encrypted. Customers can restore one file, one database or one mailbox instead of the whole account
- HostFog updates from the panel (HostFog updates): see what's new, update in one click, or let it update itself every night
- Website security (Malware & web firewall): ModSecurity with the OWASP rules in front of every website (per site on/off and allow rules) and a malware scanner (ClamAV plus PHP backdoor checks) that quarantines infected files; customers scan their own sites under Security scan
- Staging sites (Staging): copy a website and its database to
staging.<domain>, test there, then push files, database or both back to live. A full backup is taken first; WordPress addresses are rewritten and staging is hidden from search engines -
AI helper (customers: AI helper; admin: AI helper): explains why a website is down, what an error log means, or how to fix
.htaccess, in plain English with steps. It checks the site from the server and reads its recent errors; passwords and keys are removed first. You bring an Anthropic (Claude) or OpenAI-compatible API key and set a daily limit per account -
Billing-software module (
integrations/): create, suspend, unsuspend, terminate, change password/package, single sign-on and usage stats from your billing software - 9 languages for customers and staff (English, Spanish, Portuguese, French, German, Turkish, Arabic with right-to-left, Hindi), chosen per user
- Move accounts between servers (Move accounts): files, mail, databases, DNS, SSL, cron and limits, in one click; the customer gets an email when it's done
- White label (White label): your logo, colours and name everywhere, including webmail and emails; "HostFog" is never shown
- Wildcard SSL (SSL/TLS → Wildcard): one free Let's Encrypt certificate for
*.domain, issued over DNS automatically; new subdomains get HTTPS straight away - Import from another host (customers): copy a website over FTP/SFTP, a database over MySQL and mailboxes over IMAP from any provider
- Uptime monitor (customers): checks each website every 5 minutes (optionally for a word on the page), emails and phone alerts when it goes down and comes back, 24 h / 7 d / 30 d uptime and a response-time chart; admins see every customer site that is down
- Redis cache per account (Redis cache): a private Redis reachable only through a socket in the account's home, size set per package; one click connects WordPress (object cache)
- CDN connection (CDN): paste your CDN provider API token, then copy DNS to the CDN, switch its proxy on or off, purge the cache, use development mode. Mail records are never proxied; visitor IPs stay real in logs
- Email deliverability (customers: Deliverability; admin: Mail health): live SPF, DKIM, DMARC, MX and reverse-DNS checks with how to fix each, blocklist checks for the server IP, and hourly sending limits per account/package for mailboxes and PHP
mail(), so one hacked site can't get the server blocklisted - Customer email notifications: customers get an email (and a panel notification) for every change to their hosting — plan, suspension, changes made by support (one summary), new domains, free SSL, space nearly full, malware, sign-ins from a new place, password/email/two-factor changes — and choose which kinds under Password & security
- Emails in each customer's language (all 8 panel languages, Arabic right to left), with a one-time "Choose your password" link in welcome emails
- Welcome emails: a new customer gets one email with everything — panel sign-in, how to point their domain, webmail and mail-app settings, SFTP/FTP, databases, their plan, first steps and where to get help; new resellers get their own welcome with their Reseller Panel sign-in and first steps
- Getting started checklist on a new customer's or reseller's overview (password, two-factor login, domain + free SSL, website, first email address) that ticks itself off as they go
- Announcements (Announcements): admins and resellers email their customers about maintenance or news, also shown as a banner in the customer's panel
- Support tickets (Support): customers open tickets in their panel; the admin (or the reseller who owns the account) answers there; both get emails and phone notifications
- Docker apps (Docker apps): one-click n8n, Nextcloud, Uptime Kuma, Ghost, Vaultwarden and Gitea, each in a capped container on the customer's domain or subdomain. The admin enables Docker once; packages set how many apps
- Ruby apps (Rails, Sinatra, any Rack app) with Bundler and Puma, like the Node.js and Python apps
- Mailing lists (Mailing lists): announcement or discussion lists on the customer's own domain, with one-click unsubscribe, list headers and DMARC-safe sending
- DNSSEC (DNS zone editor → DNSSEC): signs a zone in one click and shows the DS record for the registrar. DNS cluster (DNS cluster): secondary nameservers copy every zone automatically (BIND catalog zones); any HostFog server becomes one in one click
- HostFog Tunnel (admin: Tunnels): your own tunnel service. A website running on someone's own computer — a local WordPress, an app in development, a client demo — gets a public
https://<name>.tunnel.yourdomain.comlink through your server, with no router settings or port forwarding. Each tunnel has its own key that opens only its own name; every tunnel gets its own HTTPS certificate; offline tunnels show a friendly page; set how many tunnels each account may have. Built on frp (open source, downloaded from its official releases and checksum-verified). With the HostFog Panel desktop app there's no command and no account at all: click Share on a site. The app gets free links from your server with its own private computer key (admin: Tunnels → HostFog Panel desktop app — on or off, links per computer, links in total, unused links removed after 60 days, and the endpoint address the app connects to; the app reads that endpoint from the panel each time it shares,GET /api/v1/desktop/endpoint). API:GET/POST /api/v1/tunnels,GET /api/v1/tunnels/{name}/client,DELETE /api/v1/tunnels/{name}; for the desktop app, the same under/api/v1/desktop/tunnelswith anX-HF-Devicecomputer key instead of a token. Needs one DNS record,*.tunnel.yourdomain.com, and port 7000 open - Phone app: the panel installs on phones and computers as an app (Password & security → Phone app), with notifications for downtime and support replies