Sign inSign up

121896/docker-mailserver

By 121896

โ€ขUpdated 3 months ago

Image
0

46

121896/docker-mailserver repository overview

โ ๐Ÿ“ฌ Custom Docker-Mailserver

์ด ์ด๋ฏธ์ง€๋Š” docker-mailserver ๊ณต์‹ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ, ๋กœ์ปฌ ์‹ค์Šต ๋ฐ ์‚ฌ์„ค ๋„คํŠธ์›Œํฌ ์—ฐ๋™ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์— ์ตœ์ ํ™”ํ•˜์—ฌ ๋นŒ๋“œ๋œ ์ปค์Šคํ…€ ๋ฉ”์ผ ์„œ๋ฒ„ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค.

์†Œ์Šค ์ด๋ฏธ์ง€:
ghcr.io/docker-mailserver/docker-mailserver:latest

โ ๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘ (Quick Start)

๋ณธ์ธ์˜ ์‹ค์Šต ๋””๋ ‰ํ† ๋ฆฌ์— docker-compose.yml ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์•„๋ž˜ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ๊ณ , ํ•„์š”ํ•œ ์„ค์ •์„ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ณ„๋„์˜ Dockerfile ๋นŒ๋“œ ์—†์ด ์ด ํŒŒ์ผ ํ•˜๋‚˜๋งŒ์œผ๋กœ ์ฆ‰์‹œ ๋ฉ”์ผ ์„œ๋ฒ„ ๊ตฌ๋™์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

services:
  mailserver:
    image: 121896/docker-mailserver:1.0
    container_name: mailserver # [ํ•„์ˆ˜] ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์„ค์ • ex: mailserver
    hostname: mail # [ํ•„์ˆ˜] ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ์„ค์ • ex: mail
    domainname: test.com # [ํ•„์ˆ˜] ๋„๋ฉ”์ธ ์ด๋ฆ„ ์„ค์ • ex: test.com
    ports:
      - "25:25"       # SMTP (์„œ๋ฒ„ ๊ฐ„ ๋ฉ”์ผ ์†ก์ˆ˜์‹  ํ‘œ์ค€ ํฌํŠธ)
      - "143:143"     # IMAP (์‚ฌ์šฉ์ž๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ฉ”์ผ์„ ์กฐํšŒํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํฌํŠธ)
      - "587:587"     # SMTP Submission (๋ณด์•ˆ ์ธ์ฆ ๊ธฐ๋ฐ˜ ๋ฉ”์ผ ๋ฐœ์†ก ํฌํŠธ)
    environment:
      # -----------------------------------------------------------------
      # 1. ๋ณด์•ˆ ๋ฐ ์ŠคํŒธ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ (0: ๋„๊ธฐ / 1: ์ผœ๊ธฐ)
      # -----------------------------------------------------------------
      - ENABLE_SPAMASSASSIN=0     # ์ŠคํŒธ ๋ฉ”์ผ ์ฐจ๋‹จ ์—”์ง„ (SpamAssassin) ํ™œ์„ฑํ™” ์—ฌ๋ถ€
      - ENABLE_CLAMAV=0           # ๋ฉ”์ผ ์ฒจ๋ถ€ํŒŒ์ผ ๋ฐฑ์‹ /์•…์„ฑ์ฝ”๋“œ ๊ฒ€์‚ฌ ์—”์ง„ (ClamAV) ํ™œ์„ฑํ™” ์—ฌ๋ถ€
                                  # โ€ป ์ฃผ์˜: ClamAV๋ฅผ ์ผœ๋ฉด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ RAM์„ ์ตœ์†Œ 1~2GB ์ด์ƒ ์ถ”๊ฐ€ ์†Œ๋ชจํ•ฉ๋‹ˆ๋‹ค.

      # -----------------------------------------------------------------
      # 2. ๋ฐœ์†ก์ž ๊ฒ€์ฆ ๋ฐ ์Šคํ‘ธํ•‘ ๋ฐฉ์ง€ (0: ๋„๊ธฐ / 1: ์ผœ๊ธฐ)
      # -----------------------------------------------------------------
      - ENABLE_SPF=0              # SPF(Sender Policy Framework) ๊ฒ€์ฆ ํ™œ์„ฑํ™” ์—ฌ๋ถ€
                                  # [๋กœ์ปฌ ์‹ค์Šต ํ•„์ˆ˜] ๊ณต์ธ DNS๊ฐ€ ์—†๋Š” ํ™˜๊ฒฝ์—์„œ ๋ฉ”์ผ ์ˆ˜์‹  ๊ฑฐ๋ถ€(nullMX ๋“ฑ)๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋•๋‹ˆ๋‹ค.

      - SPOOF_PROTECTION=0        # ๋ฐœ์†ก์ž ๋ณ€์กฐ(Spoofing) ๋ณดํ˜ธ ๊ธฐ๋Šฅ ํ™œ์„ฑํ™” ์—ฌ๋ถ€
                                  # [๋กœ์ปฌ ์‹ค์Šต ํ•„์ˆ˜] ๋กœ๊ทธ์ธํ•œ ๊ณ„์ •๊ณผ ๋ฉ”์ผ ์ฃผ์†Œ ๋„๋ฉ”์ธ์ด ๋‹ค๋ฅผ ๋•Œ(์˜ˆ: example.com) ์ˆ˜์‹  ๊ฑฐ๋ถ€๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ๋•๋‹ˆ๋‹ค.

      - ENABLE_DKIM=0             # DKIM(์ „์ž์„œ๋ช… ๊ธฐ๋ฐ˜ ๋ฐœ์†ก์ž ์ธ์ฆ) ๊ฒ€์ฆ ํ™œ์„ฑํ™” ์—ฌ๋ถ€
      - ENABLE_DMARC=0            # DMARC(SPF/DKIM ํ†ตํ•ฉ ๋ณด์•ˆ ์ •์ฑ…) ๊ฒ€์ฆ ํ™œ์„ฑํ™” ์—ฌ๋ถ€
      - ENABLE_SRS=0              # SRS(Sender Rewriting Scheme - ๋ฉ”์ผ ํฌ์›Œ๋”ฉ ์‹œ ๋ฐœ์†ก์ž ์ฃผ์†Œ ์žฌ์ž‘์„ฑ) ๊ธฐ๋Šฅ ํ™œ์„ฑํ™” ์—ฌ๋ถ€

      # -----------------------------------------------------------------
      # 3. ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ ๋ฐ ๋ฆด๋ ˆ์ด ์ œ์–ด
      # -----------------------------------------------------------------
      - PERMIT_DOCKER=network     # ๋„์ปค ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ(๊ธฐ๋ณธ ๋Œ€์—ญ) ๋‚ด์—์„œ ์˜ค๋Š” ๋ฉ”์ผ์€ ๋ณ„๋„ ์ธ์ฆ ์—†์ด ๋ฐœ์†ก(Relay) ํ—ˆ์šฉ

      - MYNETWORKS=0.0.0.0/0      # ๋ฉ”์ผ ์„œ๋ฒ„๊ฐ€ ์‹ ๋ขฐํ•˜๋Š” ๋„คํŠธ์›Œํฌ ๋Œ€์—ญ ์ง€์ •
                                  # [๋กœ์ปฌ ์‹ค์Šต์šฉ] ์™ธ๋ถ€ VM์ด๋‚˜ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์—์„œ ์˜ค๋Š” SMTP ์—ฐ๊ฒฐ์„ ์•„๋ฌด ์ œ์•ฝ ์—†์ด ํ—ˆ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ „์ฒด(0.0.0.0/0) ๊ฐœ๋ฐฉ.
                                  # โ€ป ์ฃผ์˜: ์‹ค์ œ ์ธํ„ฐ๋„ท ํ™˜๊ฒฝ(์šด์˜)์—์„œ 0.0.0.0/0์œผ๋กœ ๋‘๋ฉด ์ŠคํŒธ ๋ฉ”์ผ๋Ÿฌ๋“ค์˜ ์ค‘๊ณ„ ๊ธฐ์ง€(Open Relay)๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

    volumes:
      - ./maildata:/var/mail
      - ./mailstate:/var/mail-state
      - ./config:/tmp/docker-mailserver

โ ๐Ÿ› ๏ธ ์‹คํ–‰ ๋ฐฉ๋ฒ•

ํ…Œ์ŠคํŠธ์šฉ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ƒ์„ฑํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ docker-compose.yml ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ณ  ์›ํ•˜๋Š” ์„ค์ •์œผ๋กœ ์ˆ˜์ • ํ›„ ๋‚ด์šฉ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ์ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ๊ตฌ๋™ํ•ฉ๋‹ˆ๋‹ค.

docker compose up -d

๋ฉ”์ผ ์„œ๋ฒ„๊ฐ€ ์ •์ƒ ์ž‘๋™ํ•˜๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ํ…Œ์ŠคํŠธ์šฉ ๋ฉ”์ผ ๊ณ„์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

docker exec -it mailserver setup email add [email protected] "๋น„๋ฐ€๋ฒˆํ˜ธ"

Tag summary

Content type

Image

Digest

sha256:c341669e6โ€ฆ

Size

395.6 MB

Last updated

3 months ago

docker pull 121896/docker-mailserver:1.0