
Mailcow
Full-featured mail server with webmail
Deploy Mailcow in 3 Steps
Connect Your VPS
Add your server credentials to Server Compass
Select Mailcow
Choose from our template library
Deploy & Configure
Fill in settings and click Deploy
Mailcow CLI Deployment
Deploy Mailcow the traditional way with SSH and Docker Compose.
Open a Terminal Connection
Start by opening a terminal window and connecting to your VPS via SSH.
# Connect to your VPS
ssh root@your-server-ip
# Or with a specific SSH key
ssh -i ~/.ssh/your-key root@your-server-ipFirst time? Docker required! Install it with: curl -fsSL https://get.docker.com | sh
Create Application Directory
Create a dedicated space for your application deployment.
# Create and navigate to project directory
mkdir -p ~/apps/mailcow
cd ~/apps/mailcowCreate Deployment Configuration
Create a docker-compose.yml file with the following configuration:
services:
nginx:
image: ghcr.io/mailcow/nginx:1.03
ports:
- "443:443"
- "80:80"
restart: unless-stopped
depends_on:
- php-fpm
php-fpm:
image: ghcr.io/mailcow/phpfpm:1.92
environment:
- DBNAME=mailcow
- DBUSER=mailcow
- DBPASS=<your-db-password>
restart: unless-stopped
depends_on:
- mysql
- redis
mysql:
image: mariadb:11
environment:
- MARIADB_ROOT_PASSWORD=<your-db-root-password>
- MARIADB_DATABASE=mailcow
- MARIADB_USER=mailcow
- MARIADB_PASSWORD=<your-db-password>
volumes:
- mysql_data:/var/lib/mysql
restart: unless-stopped
redis:
image: redis:7-alpine
restart: unless-stopped
dovecot:
image: ghcr.io/mailcow/dovecot:1.30
restart: unless-stopped
postfix:
image: ghcr.io/mailcow/postfix:1.77
ports:
- "25:25"
- "465:465"
- "587:587"
restart: unless-stopped
volumes:
mysql_data:
PORTHTTPS port(default: 443)HTTP_PORTHTTP port(default: 80)DB_PASSWORDDB passwordDB_ROOT_PASSWORDRoot passwordLaunch Your Application
Deploy the stack and monitor the startup process.
# Spin up containers
docker compose up -d
# Verify deployment
docker compose ps
# Check logs for errors
docker compose logs -fEnable External Access
Set up firewall rules to permit incoming connections.
# Allow the application port through firewall
sudo ufw allow 443/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:443Skip the command line. Deploy visually.
Server Compass makes deploying Mailcow effortless. Visual setup, one-click deploy, done.
- Visual config editor
- Instant deployment
- Automatic HTTPS
- Smooth updates
- Live monitoring
- Quick rollbacks
After Deployment
After deploying Mailcow with Server Compass, complete these steps to finish setup
Configure DNS records
Add domains
Create mailboxes
Need help? Check out our documentation for detailed guides.
Mailcow FAQ
Common questions about self-hosting Mailcow
How do I deploy Mailcow with Server Compass?
Simply download Server Compass, connect to your VPS, and select Mailcow from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
What are the system requirements for Mailcow?
Mailcow requires a minimum of 4096MB RAM. We recommend a VPS with at least 8192MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Can I migrate my existing Mailcow data?
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Mailcow backup and restore procedures.
How do I update Mailcow to the latest version?
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Mailcow image will be pulled and deployed with zero downtime.
Is Mailcow free to self-host?
Mailcow is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.
Ready to Self-Host Mailcow?
Download Server Compass and deploy Mailcow to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass


