SSanalPanel
TR EN
Home Features Installation Docs About
TR EN
Install free
Docs

Learn SanalPanel

This page covers the topics you'll need most often. For more detailed and up-to-date docs, check the README files in the GitHub repository.

Overview

SanalPanel consists of a single Go-based service and a React interface. It manages standard Linux services — nginx, MariaDB, PHP-FPM, Postfix/Dovecot and nftables — rather than replacing them.

The panel interface is reached at https://server-ip:8443. There are two permission levels: an admin account and a customer account.

Panel Domain

To reach the panel with your own domain instead of the bare IP and port, use the "Panel Domain" card on the "Tools & Settings" page. This is the panel's own login address, separate from the customer domains you host.

  • Point the DNS A record of the domain you want to use (e.g. panel.yourdomain.com) at the server's IP address
  • Enter the domain in the panel and save it — the panel first verifies the A record really points at this server
  • If verification passes, the panel automatically obtains and installs a real Let's Encrypt certificate
  • From then on you can log into the panel at https://yourdomain.com, with no port and no browser warning

Note: access via the server IP and :8443 is never disabled — if the custom domain can't be set up, or is later removed, the panel stays reachable at that fallback address.

Adding a Domain

When you define a domain via "Domains → Add New" in the panel, the following steps happen automatically:

  • A system user and directory structure are created
  • A PHP-FPM pool is defined
  • An nginx vhost file is generated and reloaded
  • The A/AAAA values you need for DNS records are shown

Once your DNS provider points the domain to the server's IP address, the panel automatically verifies and installs the SSL certificate.

Custom Vhost Mode

The standard template may not cover scenarios such as running both a static site and a separate app under /blog on the same domain. In that case, you can hand-write the entire nginx configuration via "Web Server Settings → Custom Vhost Mode".

How it works

  • When the mode is turned on, the editor is pre-filled with the current, real configuration file (including the Let's Encrypt validation block)
  • On save, the panel runs nginx -t against the content
  • If validation fails, the change is not applied — the previous working configuration is kept and an error message is shown
  • While the mode is on, automatic processes like SSL renewal or PHP version changes no longer regenerate this file — responsibility shifts entirely to you

Note: if you remove the Let's Encrypt validation block (/.well-known/acme-challenge/), the certificate can no longer renew automatically.

Email Setup

To enable email hosting for a domain, go to the "Email" tab on the domain page. The panel configures the following components for you:

  • Postfix — sending/receiving (SMTP)
  • Dovecot — mailbox access (IMAP/POP3)
  • OpenDKIM — DKIM signing
  • Webmail — browser-based mail client (/webmail/)

After enabling it, the panel shows the recommended SPF, DKIM and MX records. Mail delivery won't work reliably until you add these records to the domain's DNS settings.

Database

You can create an unlimited number of MariaDB databases and users per domain. phpMyAdmin is reachable in one click from your panel session, without a separate login.

Security & 2FA

Panel logins are automatically and temporarily locked after repeated failed attempts from the same IP in a short window. We recommend enabling TOTP-based two-factor authentication from your account settings.

Per-domain WAF and directory-level password protection (htpasswd) are also managed from the "Security" tab.

Backups

Scheduled backups cover the file system and the database. Backups can be restored in one click from the panel. Remote storage destinations (S3-compatible) are on the roadmap for the Beta release.

Frequently Asked Questions

Will SanalPanel really stay free?

Yes. The panel is open source under the MIT license, and the core features are designed to stay free for life.

Should I use the Beta release on a production site?

You can, but since we're in Beta, we recommend taking regular backups and testing major changes in a staging environment first.

Which operating systems does the panel support?

Currently AlmaLinux 10 (RHEL 10 / Rocky 10 also work). Debian/Ubuntu support is on the roadmap.

Where do I report a problem?

You can report it in the Issues section of the GitHub repository.