Quick Deploy
Go from zero to a fully working Cleanmails instance in under 10 minutes. No coding required — just a VPS and your license key.
What is a VPS?
A VPS (Virtual Private Server) is a computer that stays on 24/7 in a data center. Instead of running Cleanmails on your laptop, you run it on a VPS so it can handle thousands of emails while you sleep.
We recommend Contabo, Hetzner, or DigitalOcean. Choose a plan with at least 1GB RAM (4GB recommended) and Ubuntu 22.04 as the operating system.
Step-by-Step Setup
Get your VPS & connect via SSH
Purchase a VPS with Ubuntu 22.04. You'll receive an IP address and root password.
Windows users: Download Putty, enter your VPS IP, click Open, login as root.
Mac/Linux users: Open Terminal and run:
ssh root@YOUR_VPS_IPIn most terminals (Putty, etc.), you don't use Ctrl+V. Just right-click inside the terminal window to paste.
Point your domain to your VPS IP
Create an A record pointing your domain to your VPS IP address before running the installer. This is needed for SSL provisioning.
| Type | Name | Value |
|---|---|---|
| A | app (or @) | YOUR_VPS_IP |
Run the installer
Use the command generator below to create your personalized install command, then paste it into your terminal.
One-Command Installer
SSH into your VPS as root and paste this. The installer will prompt for your domain, then handle Docker, the database, and SSL automatically.
curl -fsSL https://coldmail.host/install.sh | sudo bashStep 1
Point an A record at your VPS IP before running the command.
Step 2
Run the command. Enter your domain when prompted. Wait ~3–5 min.
Step 3
Open the dashboard URL and paste your license key on the welcome screen.
rDNS Configuration
After install, set your server's Reverse DNS (PTR) record at your VPS provider to the same domain. Essential for inbox delivery.
The installer will:
- Run preflight checks (root, RAM, disk, port availability)
- Install Docker Engine and Docker Compose (if not present)
- Download the latest release from the Cleanmails S3 bucket
- Build Docker images (API, Worker, Frontend)
- Generate secure secrets (AES-256 encryption key, JWT secret, DB password)
- Configure Caddy reverse proxy with security headers
- Start the full stack (PostgreSQL, Redis, API, Worker, Frontend, Caddy)
- Auto-provision SSL certificate via Let's Encrypt
Point your domain
Create an A record pointing your domain to your VPS IP address:
| Type | Name | Value |
|---|---|---|
| A | app (or @) | YOUR_VPS_IP |
Set Reverse DNS (rDNS/PTR)
Go to your VPS provider's control panel and set the PTR record to your domain. This is critical for email deliverability.
Complete the setup wizard
Open your domain in a browser. You'll see the initialization page where you create your admin account.
There is no "Forgot Password" button because your data is private and self-hosted. Write down your admin credentials.