Docker Mailserver
Basic Info
- Docker를 사용하여 메일 서버를 쉽고 간단히 구현할 수 있는 프로젝트
- 기본적으로 Postfix와 Dovecot 사용, Rspamd를 비롯한 많은 필터와 OpenDKIM과 같은 보안 기능 제공
Compose
-
Docker compose 파일과 env 파일 다운로드
$ curl https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master/compose.yaml -o compose.yaml $ curl https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master/mailserver.env -o mailserver.env
-
compose.yaml 설정 // 2024.12.10
# original: https://github.com/docker-mailserver/docker-mailserver/blob/master/compose.yaml services: mailserver: image: ghcr.io/docker-mailserver/docker-mailserver:latest container_name: mailserver # Provide the FQDN of your mail server here (Your DNS MX record should point to this value) # Hostname을 알맞게 수정 # hostname: mail.example.com hostname: mail.test.example.com env_file: mailserver.env # More information about the mail-server ports: # https://docker-mailserver.github.io/docker-mailserver/latest/config/security/understanding-the-ports/ ports: - "25:25" # SMTP (explicit TLS => STARTTLS, Authentication is DISABLED => use port 465/587 instead) - "143:143" # IMAP4 (explicit TLS => STARTTLS) - "465:465" # ESMTP (implicit TLS) - "587:587" # ESMTP (explicit TLS => STARTTLS) - "993:993" # IMAP4 (implicit TLS) volumes: - ./docker-data/dms/mail-data/:/var/mail/ - ./docker-data/dms/mail-state/:/var/mail-state/ - ./docker-data/dms/mail-logs/:/var/log/mail/ - ./docker-data/dms/config/:/tmp/docker-mailserver/ - /etc/localtime:/etc/localtime:ro restart: always stop_grace_period: 1m # Uncomment if using `ENABLE_FAIL2BAN=1`: # cap_add: # - NET_ADMIN healthcheck: test: "ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1" timeout: 3s retries: 0
-
Compose
$ docker compose up --detach $ docker exec -it mailserver /bin/bash root@mail:/$
Configuration
-
기본 설정
# 이메일 추가 $ setup email example@test.example.com {password} # Alias 추가 $ setup alias postmaster@test.example.com example@test.example.com