Getting Started
Learn how to install and configure CeyMail Mission Control on your server.
CeyMail Mission Control is a self-hosted mail server management platform that transforms the complexity of running your own email infrastructure into a single command. It installs and configures Postfix, Dovecot, OpenDKIM, SpamAssassin, MariaDB, and a modern web dashboard - so you can manage domains, users, DKIM keys, mail queues, AI spam screening, and more without touching config files.
Prerequisites
Before installing CeyMail, make sure you have the following ready:
- A VPS or dedicated server running Ubuntu 22.04 / 24.04 or Debian 11 / 12
- At least 1 GB of RAM (2 GB+ recommended for AI spam screening)
- A registered domain name with access to DNS management
- A public IPv4 address that is not on any major email blacklists
- Root access (the installer must run as root)
- An external email address for Let's Encrypt certificate notifications (e.g., a Gmail address - cannot be on the domain you are setting up)
Check your IP reputation
Before installing, verify your server IP is clean using tools like MXToolbox or MultiRBL. Sending email from a blacklisted IP will cause delivery failures regardless of how well your server is configured.
Step 1: Prepare DNS records
The installer will attempt to provision SSL certificates via Let's Encrypt, which requires your domains to resolve to the server. You need two A records - one for the mail hostname and one for the dashboard subdomain.
| Type | Host | Value |
|---|---|---|
| A | mail.example.com | Your server IP (e.g., 203.0.113.10) |
| A | mc.example.com | Your server IP (e.g., 203.0.113.10) |
Replace example.com with your actual domain and 203.0.113.10 with your server's public IP.
Verify the A records have propagated before continuing:
dig +short mail.example.com
dig +short mc.example.com
Both should return your server IP.
DNS propagation
If DNS has not propagated when the installer runs, SSL setup will be skipped and the dashboard will be served over HTTP. You can re-run the setup script after DNS propagates to enable SSL.
Step 2: Install CeyMail
SSH into your server as root and run:
curl -fsSL https://updates.ceymail.com/setup.sh | sudo bash
The installer is interactive - it will prompt you for three pieces of information:
- Mail domain - The hostname for your mail server (e.g.,
mail.example.com) - Dashboard subdomain - Where Mission Control will be accessible (e.g.,
mc.example.com) - Let's Encrypt email - An external email for SSL certificate notifications (e.g.,
you@gmail.com)
After collecting your inputs, the installer runs through the following steps automatically:
- Detects and configures your web server (Nginx or Apache)
- Installs Node.js 22, MariaDB, and system dependencies
- Creates the
ceymailandceymail_dashboarddatabases - Generates DH parameters for Postfix TLS
- Downloads and deploys the Mission Control dashboard
- Configures the firewall (UFW) with required ports
- Provisions SSL certificates via Let's Encrypt (if DNS is ready)
The entire process typically completes in 3-5 minutes on a standard VPS. When finished, you will see a summary with your dashboard URL.
Verbose mode
If you need to see full output during installation (useful for debugging), use verbose mode: curl -fsSL https://updates.ceymail.com/setup.sh | sudo bash -s - -v
Step 3: Complete the setup wizard
Open the dashboard URL shown in the installer summary (e.g., https://mc.example.com). You will be redirected to the Welcome Wizard at /welcome, which walks you through:
- Welcome - Introduction and overview of the setup process
- Database - Configures the MariaDB connection (skipped if already configured by the installer)
- Admin account - Set your dashboard username and password
- Complete - Setup is finalized and you are redirected to log in
After logging in, you are redirected to the Install Wizard at /install, which configures the mail services:
- System check - Verifies OS, disk, RAM, CPU, and web server meet requirements
- PHP version selection - Choose which PHP version to install (for Roundcube webmail)
- Core package installation - Installs Postfix, Dovecot, OpenDKIM, SpamAssassin, and more
- Domain configuration - Confirms your mail hostname and domain
- SSL certificates - Generates mail-specific SSL certificates
- Service configuration - Writes Postfix, Dovecot, and OpenDKIM config files
- DKIM setup - Generates DKIM signing keys for your domain
- Permissions - Sets correct file ownership and modes
- Enable Services - Starts and enables all mail services
- Webmail - Installs and configures Roundcube webmail
- Summary - Displays all DNS records you need to add
Retrying failed steps
If any step fails, click Back and then Next to retry it. Each step is idempotent and safe to re-run. The webmail step in particular may need a retry on slower servers since it installs PHP and several dependencies.
Step 4: Add DNS records
After the install wizard completes, the summary page displays all DNS records you need to add at your domain registrar:
| Type | Host | Value |
|---|---|---|
| A | mail.example.com | Your server IP |
| MX | @ | mail.example.com (priority 10) |
| TXT | @ | v=spf1 mx a:mail.example.com ~all |
| TXT | mail._domainkey | (DKIM public key shown in dashboard) |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:postmaster@example.com |
You can copy these directly from the install wizard's summary page or from the DNS Records page in the dashboard.
Step 5: Set reverse DNS
Contact your hosting provider to set the PTR (reverse DNS) record for your server IP to point to your mail hostname:
IP: 203.0.113.10
PTR: mail.example.com
Many receiving mail servers reject or deprioritize email from servers without valid reverse DNS.
Next steps
- Installation - Detailed system requirements, firewall configuration, and troubleshooting
- Basic Configuration - DNS records, SSL, SMTP relay, and AI spam screening
- API Reference - Manage domains, users, and aliases through the dashboard API