# mailcow — Dockerized Self-Hosted Email Server Suite > Complete mail server solution bundling Postfix, Dovecot, SOGo, and a modern web admin UI in a single Docker Compose deployment. ## Install Save in your project root: # mailcow — Dockerized Self-Hosted Email Server Suite ## Quick Use ```bash # Requires a server with ports 25, 80, 443, 465, 587, 993 open git clone https://github.com/mailcow/mailcow-dockerized.git && cd mailcow-dockerized ./generate_config.sh # Answer prompts for hostname, timezone, etc. docker compose pull && docker compose up -d # Admin UI at https://your-mail-domain (default: admin / moohoo) ``` ## Introduction mailcow is a fully containerized mail server suite that bundles Postfix, Dovecot, ClamAV, Rspamd, SOGo, and a modern admin UI into a single Docker Compose stack. It aims to make running a production-grade, self-hosted email server as painless as possible while retaining full control over your mail infrastructure. ## What mailcow Does - Sends and receives email via Postfix (SMTP) with TLS, DKIM, SPF, and DMARC enforcement - Stores and serves mail through Dovecot with IMAP and POP3 access - Filters spam using Rspamd with Bayesian learning and custom rules - Scans attachments for malware via ClamAV integration - Provides SOGo groupware for webmail, calendars, contacts, and ActiveSync ## Architecture Overview mailcow orchestrates over a dozen Docker containers: Postfix handles SMTP, Dovecot manages mailbox storage, Rspamd filters spam, ClamAV scans for viruses, SOGo provides webmail and groupware, and Nginx-based Acme handles reverse proxying and TLS certificates via Let's Encrypt. A MySQL/MariaDB database stores configuration, and Redis provides caching. The mailcow UI is a PHP application that configures all components through a unified API. ## Self-Hosting & Configuration - Requires a dedicated server or VPS with at least 2GB RAM and a clean public IP - Run generate_config.sh to set hostname, timezone, and create docker-compose.yml - Ensure DNS records (MX, A, SPF, DKIM, DMARC, autodiscover) are properly configured - Manage domains, mailboxes, aliases, and rate limits through the admin web UI - Automatic Let's Encrypt TLS certificates for all configured domains ## Key Features - Full groupware via SOGo with calendar, contacts, and mobile sync (ActiveSync/CalDAV/CardDAV) - Two-factor authentication for admin and user logins - Quarantine management for reviewing and releasing flagged messages - Per-domain and per-mailbox rate limiting and spam filter tuning - Built-in backup and restore scripts for complete server migration ## Comparison with Similar Tools - **docker-mailserver** — Lighter single-container approach with env-based config; no built-in webmail or admin UI - **Mailu** — Similar Docker mail stack; different admin UI and component choices - **iRedMail** — Installs directly on the OS without Docker; harder to migrate and update - **Zimbra** — Enterprise collaboration suite; heavier and partially proprietary - **Microsoft Exchange** — Industry standard for enterprise; proprietary and resource-intensive ## FAQ **Q: Can I use mailcow for a small personal mail server?** A: Yes. mailcow works well for personal use, small teams, or organizations. A VPS with 2-4GB RAM handles dozens of mailboxes. **Q: How do I avoid my emails going to spam?** A: Configure SPF, DKIM, and DMARC DNS records correctly, use a clean IP address, start with low volume, and monitor your sender reputation. **Q: Does mailcow support multiple domains?** A: Yes. You can host unlimited domains on a single mailcow instance, each with its own mailboxes, aliases, and settings. **Q: How are updates handled?** A: Run the included update.sh script, which pulls new container images and applies database migrations automatically. ## Sources - https://github.com/mailcow/mailcow-dockerized - https://docs.mailcow.email --- Source: https://tokrepo.com/en/workflows/78a71351-3cb4-11f1-9bc6-00163e2b0d79 Author: AI Open Source