OKWszystkie usługi działają prawidłowo
InfrawireLogo InfrawireDokumentacja

Instalacja i zabezpieczenie mailcow na VPS z Linuxem

mailcow: dockerized to pełny samodzielnie hostowany stos pocztowy (Postfix, Dovecot, Rspamd, opcjonalnie ClamAV, MariaDB, Redis, Nginx, SOGo, panel WWW) zarządzany przez Docker i Docker Compose.

Do czego służy mailcow

  • Uruchom własny serwer pocztowy z jednym panelem administracyjnym.
  • Zarządzaj domenami, skrzynkami, aliasami, limitami, ustawieniami antyspamowymi itd. bez ręcznego składania MTA/MDA/spamu/poczty WWW.

Dostarczalność wymaga poprawnego DNS (MX, SPF, DKIM, DMARC) oraz PTR zgodnego z hostname. Zobacz wymagania DNS mailcow.

Oficjalne wymagania systemowe

Z Przygotowanie systemu:

ZasóbMinimum
RAM6 GiB + 1 GiB swap (domyślny stos)
Dysk20 GiB (bez skrzynek)
Architekturax86_64 lub ARM64

Nieobsługiwane: OpenVZ, Virtuozzo, LXC, NAS w stylu Synology/QNAP. Użyj pełnej wirtualizacji (KVM itd.).

Zwolnij na hoście porty 25, 80, 110, 143, 443, 465, 587, 993, 995, 4190 przed instalacją:

Bash
ss -tlpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190'

Opcjonalnie: SKIP_CLAMD=y i SKIP_FTS=y w mailcow.conf, aby zmniejszyć zużycie RAM.

1 — Pakiety systemowe (Debian/Ubuntu)

Zgodnie z Instalacja mailcow:

Bash
sudo apt update sudo apt install -y git openssl curl gawk coreutils grep jq

2 — Docker Engine i Compose v2

Docker ≥ 24.0.0, Compose ≥ 2.0. Zalecana instalacja:

Bash
curl -sSL https://get.docker.com/ | CHANNEL=stable sudo sh sudo systemctl enable --now docker sudo apt update sudo apt install -y docker-compose-plugin

Weryfikacja: docker --version oraz docker compose version (uwaga: docker compose, nie docker-compose).

3 — Klonowanie i generowanie konfiguracji

Bash
1sudo su 2umask 0022 3cd /opt 4git clone https://github.com/mailcow/mailcow-dockerized 5cd mailcow-dockerized 6./generate_config.sh

Edytuj mailcow.conf według potrzeb. Dla hostów bez prawidłowego IPv6 mailcow 2025-09+ obsługuje:

Bash
ENABLE_IPV6=false

Następnie pełny restart stosu — zobacz Wyłączenie IPv6.

4 — Uruchomienie

Bash
docker compose pull docker compose up -d

Panel administracyjny: https://YOUR_MAILCOW_HOSTNAME/admin

Domyślne logowanie: admin / moohoozmień natychmiast.

Bezpieczeństwo po zalogowaniu

  1. Zmień hasło administratora w panelu.
  2. Włącz 2FAUwierzytelnianie dwuskładnikowe.
  3. Upewnij się, że działa synchronizacja czasu NTP (timedatectl status).
  4. Opublikuj DKIM z panelu oraz rekordy TXT SPF i DMARC.
  5. Firewall: mailcow ostrzega, że UFW/firewalld mogą kolidować z Dockerem; lepiej stosować reguły w łańcuchu DOCKER-USER — zobacz Firewall & Ports w prerequisite-system.

MTU inne niż 1500

Dostosuj com.docker.network.driver.mtu zgodnie z rozwiązywaniem problemów przy instalacji.

Reset hasła administratora

Bash
cd /opt/mailcow-dockerized ./helper-scripts/mailcow-reset-admin.sh

Zobacz Reset haseł.

Dalsza lektura: GitHub — mailcow-dockerized.