summaryrefslogblamecommitdiffstats
path: root/docker-compose.yml
blob: cb70190440c67bcf972e5ffe8963c38f7f4d7972 (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                                        
                                            
                                                                         



                                              
                             

                                    
                                
                        










                                           
                             











                                                                            

                                                  

                                        








                                                                                          








                                         





                              
        
       



                      
services:

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

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

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

    restart: "always"
    volumes:
      - "certs:/etc/certs:ro"
      - "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: "mail.YOUR-DOMAIN.example"
      LETSENCRYPT_HOST: "mail.YOUR-DOMAIN.example"
    command: ["/usr/sbin/dovecot", "-F"]

  mlmmj-maint:
    image: "mailnode"
    pull_policy: "never"

    restart: "always"
    volumes:
      - "mlmmj:/var/spool/mlmmj"
    command: ["bash", "-c", "/usr/bin/mlmmj-maintd -d /var/spool/mlmmj && sleep infinity"]

  opendkim:
    image: "mailnode"
    pull_policy: "never"

    restart: "always"
    volumes:
      - "dkim:/opendkim"
    command: ["/usr/sbin/opendkim", "-f"]

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

networks:
  nginx-proxy-network:
    external: true