Back to all templates
Mailu logo

Mailu

Infrastructure2048MB+ RAM

Full-featured mail server with webmail

emailmail-serverwebmail

Deploy Mailu in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Mailu

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Do It Yourself

Deploy Mailu via Command Line

Prefer the command line? Follow this step-by-step guide to deploy Mailu manually on your VPS.

1

Start a Secure Shell Session

Open your terminal and connect to your server. Replace the IP address with your VPS IP.

terminal
# SSH into your server
ssh root@your-server-ip

# Using a custom SSH key
ssh -i ~/.ssh/id_rsa root@your-server-ip

First time? Need Docker? Install it: curl -fsSL https://get.docker.com | sh

2

Prepare Your Workspace

Set up a clean directory for your application.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/mailu
cd ~/apps/mailu
3

Set Up Container Configuration

Set up the container stack using this Docker Compose configuration:

docker-compose.yml
services:
  front:
    image: ghcr.io/mailu/nginx:2024.06
    ports:
      - "80:80"
      - "443:443"
      - "25:25"
      - "143:143"
      - "587:587"
    environment:
      - TZ=UTC
    volumes:
      - mailu_certs:/certs
      - mailu_overrides:/overrides
    restart: unless-stopped
    depends_on:
      - admin
      - imap
      - smtp

  admin:
    image: ghcr.io/mailu/admin:2024.06
    environment:
      - SECRET_KEY=<your-secret-key>
      - DOMAIN=<your-domain>
      - HOSTNAMES=<your-hostnames>
      - TZ=UTC
    volumes:
      - mailu_data:/data
      - mailu_dkim:/dkim
    restart: unless-stopped
    depends_on:
      - redis

  imap:
    image: ghcr.io/mailu/dovecot:2024.06
    environment:
      - TZ=UTC
    volumes:
      - mailu_mail:/mail
      - mailu_overrides:/overrides
    restart: unless-stopped

  smtp:
    image: ghcr.io/mailu/postfix:2024.06
    environment:
      - TZ=UTC
    volumes:
      - mailu_overrides:/overrides
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    volumes:
      - mailu_redis:/data
    restart: unless-stopped

volumes:
  mailu_certs:
  mailu_overrides:
  mailu_data:
  mailu_dkim:
  mailu_mail:
  mailu_redis:
Configuration Variables
PORTHTTP port(default: 80)
HTTPS_PORTHTTPS port(default: 443)
SMTP_PORTSMTP port(default: 25)
IMAP_PORTIMAP port(default: 143)
SUBMISSION_PORTSubmission port(default: 587)
DOMAINMail domain
4

Bring Up the Application

Launch your application stack in the background.

terminal
# Start the containers in detached mode
docker compose up -d

# Check if containers are running
docker compose ps

# View logs
docker compose logs -f
5

Configure Firewall

Configure your firewall to permit external connections.

terminal
# Allow the application port through firewall
sudo ufw allow 80/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:80
Skip the Terminal

Prefer a visual interface? Use Server Compass.

Deploy Mailu with a beautiful UI instead. No SSH, no YAML editing, no terminal commands. Just click, configure, and deploy in under 3 minutes.

  • Visual configuration UI
  • One-click deployment
  • Automatic SSL setup
  • Zero-downtime updates
  • Built-in monitoring
  • One-click rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Mailu with Server Compass, complete these steps to finish setup

1

Configure DNS records

2

Create admin account

3

Add mail domains

Need help? Check out our documentation for detailed guides.

Mailu FAQ

Common questions about self-hosting Mailu

How do I deploy Mailu with Server Compass?

Simply download Server Compass, connect to your VPS, and select Mailu 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 Mailu?

Mailu requires a minimum of 2048MB RAM. We recommend a VPS with at least 4096MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Mailu data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Mailu backup and restore procedures.

How do I update Mailu to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Mailu image will be pulled and deployed with zero downtime.

Is Mailu free to self-host?

Mailu 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 Mailu?

Download Server Compass and deploy Mailu to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass