This document describes the setup and configuration of Mailcow-Dockerized on the client server.
Mailcow is a comprehensive email server solution that runs in Docker containers. It represents the core set of services managing email on a client server not directly exposed to the internet, where emails are stored and managed. Mailcow includes:
- Postfix (SMTP)
- Dovecot (IMAP/POP3)
- Rspamd (Spam filtering)
- SOGo (Groupware/Integrated email client)
- Administration interface for managing domains, mailboxes, aliases, etc.
According to the official documentation:
- Docker Engine and Docker Compose
- Git
- 1 GHz CPU (minimum)
- 6 GB RAM (minimum) + 1 GB swap
- 20 GB disk space (excluding mail storage)
- x86_64 or ARM64 architecture
- A valid domain name pointing to your server
The installation process is relatively simple, especially using Docker. First, ensure Docker Engine is installed on your system before proceeding with the following steps:
Before installing Mailcow, you need to install Docker Engine. Refer to the official Docker Engine installation documentation for platform-specific instructions.
After installing Docker Engine, proceed with the Mailcow installation:
# Clone the repository
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
# Generate configuration
./generate_config.shFor detailed and up-to-date installation instructions, always refer to the official Mailcow documentation.
# Start all containers
docker compose up -d
# Check status
docker compose ps-
Access the admin interface:
https://mail.example.com/adminAccess the user interface:
https://mail.example.comNote: In the latest version (2025-03), administrator credentials can only be used at the /admin endpoint, not at the root domain.
-
Login with default admin credentials:
- Username: admin
- Password: moohoo
It is strongly recommended to change the default password immediately after the first login.
-
Add domain:
- Go to "Mailbox" → "Add Domain"
- Enter domain name
- Configure DKIM
-
Create mailboxes:
- Go to "Mailbox" → "Add Mailbox"
- Create user accounts
To update your Mailcow installation, use the update script provided in the mailcow-dockerized directory:
# Navigate to mailcow directory
cd /opt/mailcow-dockerized
# Run the update script
./update.shThe update script will:
- Check for available updates
- Show what changes will be applied
- Handle merge conflicts automatically when possible
- Restart the services after updating
For more detailed information, refer to the official update documentation.
You are at Step 4 of 7 in the setup process
Now that you have configured Mailcow on the client server, proceed to:
➡️ Step 5: Configure DNS Records
Future steps: 6. Set up Haraka mail server 7. Configure Caddy web server
After completing all steps, make sure to test the entire email flow and verify all services are running correctly.