summaryrefslogtreecommitdiffstats
path: root/docker-compose.yml
blob: 60b4b08d42d1d64f65f9a684a8d6a72988a19210 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
services:

  postfix:
    image: "mailnode"
    pull_policy: "never"
    build:
      context: "."
      args:
        # CONFIGURE ME!
        # The FQDN this mail server identifies itself as
        HOSTNAME: "YOUR-DOMAIN.example"
        # All domain names this server accepts mail for (space separated)
        VIRTUAL_DOMAINS: "YOUR-DOMAIN.example"

    restart: "always"
    volumes:
      - "certs:/etc/certs"
      - "mail:/var/mail"
      - "postfix:/var/spool/postfix"
      - "mlmmj:/var/spool/mlmmj"
    ports:
      - "25:25"
      - "465:465"
    command: ["/etc/postfix/entrypoint.sh"]

  dovecot:
    image: "mailnode"
    pull_policy: "never"

    restart: "always"
    volumes:
      - "certs:/etc/certs"
      - "mail:/var/mail"
      - "postfix:/var/spool/postfix"
    ports:
      - "993:993"
    networks:
      - "nginx-proxy-network"
    environment:
      # CONFIGURE ME!
      # We expect to utilize nginxproxy (proxy-docker) to create our TLS
      # certificates.  This also allows other web services to operate on the
      # same host.  Set the domain (common name) to generate certs for below
      # (typically the same value used for HOSTNAME above).
      VIRTUAL_HOST: "YOUR-DOMAIN.example"
      LETSENCRYPT_HOST: "YOUR-DOMAIN.example"
    command: ["/usr/sbin/dovecot", "-F"]

volumes:
  certs:
    external: true
    name: "proxy-docker_certs"
  mail:
  postfix:
  mlmmj:

networks:
  nginx-proxy-network:
    external: true